HEX
Server: LiteSpeed
System: Linux php-prod-1.spaceapp.ru 5.15.0-157-generic #167-Ubuntu SMP Wed Sep 17 21:35:53 UTC 2025 x86_64
User: xnsbb3110 (1041)
PHP: 8.1.33
Disabled: NONE
Upload Files
File: //proc/self/root/usr/local/CyberCP/ApachController/__pycache__/ApacheVhosts.cpython-310.pyc
o

��hKm�@s�ddlZddlZddlZddlZej�d�ej�dd�e��ddlZddl	m
Z
mZddlm
Z
ddlmZddlmZdd	lmZddlZGd
d�d�ZdS)�Nz/usr/local/CyberCP�DJANGO_SETTINGS_MODULEzCyberCP.settings)�Websites�ChildDomains)�
vhostConfs)�
PHPManager)�CyberCPLogFileWriter)�ProcessUtilitiesc@s�eZdZdZe��ejkse��ejkr7dZdZ	dZ
dZdZdZ
dZd	Zd
ZdZdZd
ZdZdZdZdZdZn"dZdZ	dZ
dZdZdZ
dZdZdZdZdZdZdZd Zd!Zd"Zd#Zd$Zd%Ze��ejkske��ejkrnd&Znd'Zed(d)��Zed*d+��Zed,d-��Zed.d/��Z ed0d1��Z!ed2d3��Z"ed4d5��Z#ed6d7��Z$ed8d9��Z%ed:d;��Z&ed<d=��Z'ed>d?��Z(ed@dA��Z)edBdC��Z*edDdE��Z+dFS)G�ApacheVhostz$/home/cyberpanel/apacheInstallStatusz
/etc/httpdz/etc/httpd/conf.d/z#/opt/remi/php54/root/etc/php-fpm.d/z#/opt/remi/php55/root/etc/php-fpm.d/z/etc/opt/remi/php56/php-fpm.d/z/etc/opt/remi/php70/php-fpm.d/z/etc/opt/remi/php71/php-fpm.d/z/etc/opt/remi/php72/php-fpm.d/z/etc/opt/remi/php73/php-fpm.d/z/etc/opt/remi/php74/php-fpm.d/z/etc/opt/remi/php80/php-fpm.d/z/etc/opt/remi/php81/php-fpm.d/z/etc/opt/remi/php82/php-fpm.d/z/etc/opt/remi/php83/php-fpm.d/z/etc/opt/remi/php84/php-fpm.d/z/etc/opt/remi/php85/php-fpm.d/�httpdz/etc/apache2z/etc/apache2/sites-enabled/z/etc/php/5.4/fpm/pool.d/z/etc/php/5.5/fpm/pool.d/z/etc/php/5.6/fpm/pool.d/z/etc/php/7.0/fpm/pool.d/z/etc/php/7.1/fpm/pool.d/z/etc/php/7.2/fpm/pool.d/z/etc/php/7.3/fpm/pool.d/z/etc/php/7.4/fpm/pool.d/z/etc/php/8.0/fpm/pool.d/z/etc/php/8.1/fpm/pool.d/z/etc/php/8.2/fpm/pool.d/z/etc/php/8.3/fpm/pool.d/z/etc/php/8.4/fpm/pool.d/z/etc/php/8.5/fpm/pool.d/�apache2z&/usr/local/lsws/conf/httpd_config.confrz/etc/httpd/conf.d/ssl/z/etc/apache2/conf-enabled/cCsF|dks|dkrtj|}n�|dkrtj|}nw|dkr"tj|}nm|dkr,tj|}nc|dkr6tj|}nY|dkr@tj|}nO|dkrJtj|}nE|d	krTtj|}n;|d
kr^tj	|}n1|dkrhtj
|}n'|dkrrtj|}n|d
kr|tj|}n|dkr�tj
|}n	|dkr�tj|}tj�tj�r�t�d|�d��|dS)N�53�54�55�56�70�71�72�73�74�80�81�82�83�84�85zDecided path in DecidePHPPath �.conf)r	�	php54Path�	php55Path�	php56Path�	php70Path�	php71Path�	php72Path�	php73Path�	php74Path�	php80Path�	php81Path�	php82Path�	php83Path�	php84Path�	php85Path�os�path�existsr�	debugPath�logging�writeToFile)�php�virtualHostName�
finalConfPath�r3�2/usr/local/CyberCP/ApachController/ApacheVhosts.py�
DecidePHPPathJs>
zApacheVhost.DecidePHPPathcCs�|d}tj�tj|�rtj|Stj�tj|�r tj|Stj�tj|�r.tj|Stj�tj|�r<tj|Stj�tj|�rJtj|Stj�tj	|�rXtj	|Stj�tj
|�rftj
|Stj�tj|�rttj|Stj�tj|�r�tj|Stj�tj
|�r�tj
|Stj�tj|�r�tj|Stj�tj|�r�tj|Stj�tj|�r�tj|Stj�tj|�r�tj|SdS)Nr)r*r+r,r	rrrrr r!r"r#r$r%r&r'r(r))r1r3r3r4�whichPHPExistsns<













�zApacheVhost.whichPHPExistscCsNtj�tj�rnt�tj�tjd}tjd}d|d|}t�|�dS)Nz.privkey.pemz.fullchain.pemz�openssl req -newkey rsa:2048 -new -nodes -x509 -days 3650 -subj "/C=US/ST=Denial/L=Springfield/O=Dis/CN=www.example.com" -keyout z -out )r*r+r,r	�sslBasePath�mkdirr�normalExecutioner)r1�pathToStoreSSLPrivKey�pathToStoreSSLFullChain�commandr3r3r4�GenerateSelfSignedSSL�s

z!ApacheVhost.GenerateSelfSignedSSLc

Csz�t��tjkst��tjkrd}d}nd}d}tj|d}t|d�}t�|�}	t	j
}
|
�d|�}
|
�d|�}
|
�d	|�}
|
�d
|	�}
|
�d|�}
|
�d|�}
|
�d
|�}
|�|
�|�
�tj|d}t|d�}t�|�}	t	j}
|
�d|�}
|
�d|�}
|
�d	|�}
|
�d
|	�}
|
�d|�}
|
�d|�}
|
�dtj�}
|
�d
|�}
|�|
�|�
�t�|	|�}t|d�}t	j}
|
�d|�}
|
�d|�}
|
�d|�}
|
�d
|�}
|
�d|�}
|�|
�t�|�dtj��}t�|�ddgWSt�y}zdt|�gWYd}~Sd}~ww)N�/var/run/php-fpm/�nobody�
/var/run/php/�nogroupr�w+�{virtualHostName}�{administratorEmail}z{virtualHostUser}�{php}�
{adminEmails}�
{externalApp}�
{sockPath}�a�	{SSLBase}�{www}�{Sock}�{group}�systemctl restart ��Noner)r�decideDistro�centos�cent8r	�configBasePath�openr�getPHPStringr�
apacheConf�replace�write�close�
apacheConfSSLr7r5�
phpFpmPoolr=�serviceNamer9�
BaseException�str)
�administratorEmail�externalApp�virtualHostUser�
phpVersionr1�sockPath�groupr2�confFiler0�currentConfr<�msgr3r3r4�perHostVirtualConf�sd










��zApacheVhost.perHostVirtualConfc
Cs�zLttjd���}d}d}|D]}|�d�dkrd}|�d�dkr#d}q|r6ttjd�}|�tj�|��|rHttjd�}|�tj	�|��ddgWSt
yd}zdt|�gWYd}~Sd}~ww)	N�rrO�
apachebackend���r�proxyApacheBackendSSLrIrP)rUr	�lswsMainConf�readline�findrYr�proxyApacheBackendrZrmr^r_)�data�putProxyConf�putProxyConfSSL�itemsrfrhr3r3r4�enableProxyInMainConf�s.�
��z!ApacheVhost.enableProxyInMainConfc
Csdzd|d}t|d�}|�d�|��ddgWSty1}zdt|�gWYd}~Sd}~ww)Nz/home/z/public_html/.htaccessrBz.REWRITERULE ^(.*)$ HTTP://apachebackend/$1 [P]rOrPr)rUrYrZr^r_)�domain_name�
domainPathrfrhr3r3r4�reWrites


��zApacheVhost.reWritecCsRt�|||||�}|ddkrd|dgSt��}|ddkr%d|dgSddgS�NrrOrP)r	rirv)r`rarbrcr1�resultr3r3r4�setupApacheVhostszApacheVhost.setupApacheVhostc
Cs.z�t��tjkst��tjkrd}d}nd}d}tj|d}t|d�}	t�|�}
t	j
}|�d|�}|�d|�}|�d	|
�}|�d
|�}|�d|�}|�d|�}|�d
|�}|	�|�|	�
�tj|d}t|d�}	t�|�}
t	j}|�d|�}|�d|�}|�d	|
�}|�d
|�}|�d|�}|�d|�}|�d
|�}|�dtj�}|	�|�|	�
�t�|
|�}t|d�}	t	j}|�dd�t�d|��dd��}|�d|�}|�d|�}|�d
|�}|�d|�}|	�|�t�|�dtj��}t�|�ddgWSt�y}
zdt|
�gWYd}
~
Sd}
~
ww)Nr>r?r@rArrBrCrDrErFrGz{path}rHrIrJrK�z	[a-zA-Z]+�rLrMrNrOrPr)rrQrRrSr	rTrUrrVr�apacheConfChildrXrYrZ�apacheConfChildSSLr7r5r\�join�re�findallr=r]r9r^r_)r`rarbrcr1r+rdrer2rfr0rgr<rhr3r3r4�perHostVirtualConfChild'sd






"



��z#ApacheVhost.perHostVirtualConfChildcCsTt�||||||�}|ddkrd|dgSt��}|ddkr&d|dgSddgSrz)r	r�rv)r`rarbrcr1r+r{r3r3r4�setupApacheVhostChildps�z!ApacheVhost.setupApacheVhostChildc
Cs�z%tj|d}tj�|�rt�|�t�|�dtj��}t�	|�WdSt
y?}zt�t
|��WYd}~dSd}~ww)NrrN)r	rTr*r+r,�remove�
deletePHPPathr]rr9r^r.r/r_)r1r2r<rhr3r3r4�DeleteApacheVhost~s

��zApacheVhost.DeleteApacheVhostc
Cs�z't|d�}|�d�d}tj}|�d|�}|�d|�}|�|�|��WdStyC}zt�	t
|�d�WYd}~dSd}~ww)NrB�/�rFz{domain}zG [IO Error with per host config file [ApacheVhosts.perHostVirtualConf]])rU�splitr�	OLSLBConfrXrYrZr^r.r/r_)�vhFiler`rfr1rgrhr3r3r4�perHostVirtualConfOLS�s


���z!ApacheVhost.perHostVirtualConfOLScCsFt�d|�}tj�|�r.t�|�t��tjkst��tj	kr"d}nd}d|��}t�
|�t�d|�}tj�|�r\t�|�t��tjksMt��tj	krPd}nd}d|��}t�
|�t�d|�}tj�|�r�t�|�t��tjks{t��tj	kr~d	}nd
}d|��}t�
|�t�d|�}tj�|�r�t�|�t��tjks�t��tj	kr�d}nd
}d|��}t�
|�t�d|�}tj�|�r�t�|�t��tjks�t��tj	kr�d}nd}d|��}t�
|�t�d|�}tj�|��rt�|�t��tjk�st��tj	k�rd}nd}d|��}t�
|�t�d|�}tj�|��rHt�|�t��tjk�s9t��tj	k�r<d}nd}d|��}t�
|�t�d|�}tj�|��ryt�|�t��tjk�sjt��tj	k�rmd}nd}d|��}t�
|�t�d|�}tj�|��r�t�|�t��tjk�s�t��tj	k�r�d}nd}d|��}t�
|�t�d|�}tj�|��r�t�|�t��tjk�s�t��tj	k�r�d}nd}d|��}t�
|�t�d |�}tj�|��rt�|�t��tjk�s�t��tj	k�rd!}nd"}d|��}t�
|�t�d#|�}tj�|��r=t�|�t��tjk�s.t��tj	k�r1d$}nd%}d|��}t�
|�t�d&|�}tj�|��rnt�|�t��tjk�s_t��tj	k�rbd'}nd(}d|��}t�
|�t�d)|�}tj�|��r�t�|�t��tjk�s�t��tj	k�r�d*}nd+}d|��}t�
|�dSdS),Nr
z
php54-php-fpmz
php5.4-fpmrNrz
php55-php-fpmz
php5.5-fpmrz
php56-php-fpmz
php5.6-fpmrz
php70-php-fpmz
php7.0-fpmrz
php71-php-fpmz
php7.1-fpmrz
php72-php-fpmz
php7.2-fpmrz
php73-php-fpmz
php7.3-fpmrz
php74-php-fpmz
php7.4-fpmrz
php80-php-fpmz
php8.0-fpmrz
php81-php-fpmz
php8.1-fpmrz
php82-php-fpmz
php8.2-fpmrz
php83-php-fpmz
php8.3-fpmrz
php84-php-fpmz
php8.4-fpmrz
php85-php-fpmz
php8.5-fpm)r	r5r*r+r,r�rrQrRrSr9)r1�phpPath�
phpServicer<r3r3r4r��s�















 


 


 


 


 


 


 


 


 
�zApacheVhost.deletePHPPathc
Csz�t�d|���t��tjkst��tjkrd}d}nd}d}|�d�d}tj|d}t	j
�|�s?t�d	|���Wd
St�|�zt
jj|d�}|j}Wntjj|d�}|jj}Yt	j
�tj�rot�d|���t�|�}	t�|	|�}t�d
|���t|d�}
tj}|�d|�}|�d|�}|�d|�}|�d|�}|�d|�}|
�|�t��tjks�t��tjkr�|�|d�}d|��}
t�|
�t�|�}d|��}
t�|
�d|��}
t�|
�dtj��}
t�|
�WdSt �y}zt�t!|��WYd}~dSd}~ww)Nz'PHP version passed to Apache function: r>r?r@rAr�r�rz
Config path: r)�domainz!PHP version before getPHPString: zapache php final path: rBrKrLrGrHrM�wwwzsed -i 's/www-data/apache/g' zsystemctl stop rNrO)"r.r/rrQrRrSr�r	rTr*r+r,r�r�objects�getrar�masterr-rrVr5rUrr\rXrY�executioner�DecideFPMServiceNamer9r]r^r_)rcr�rdrer1r2�websitera�childr0rfrg�defaultConfPathr<r�rhr3r3r4�	changePHP@sb













��zApacheVhost.changePHPcCs�|dks|dkrAdt�|�}t��tjkst��tjkr$d|d}nD|d}|d}t|�dt|�}d|d|d	}n't��tjksOt��tjkr]dt�|�}d
|�d�}nd|�d�d
�d�}tj	�
tj�rwt�
d|���|S)Nrr0z/usr/local/lsws/lsz/etc/php.ini���.z	/etc/php/z/litespeed/php.iniz/etc/opt/remi/z/php.ini� rOz/fpm/php.iniz	PHP Path )rrVrrQrRrSr_r�r*r+r,r-r.r/)�apache�phpVersr+�initial�final�completeNamer3r3r4�DecidePHPPathforManager�sz#ApacheVhost.DecidePHPPathforManagercCsHt��tjkst��tjkrt�|�}d|�d�S|�dd����d�S)Nr0z-php-fpmr�r}z-fpm)rrQrRrSrrVrX�lower)rcr0r3r3r4r��s
z ApacheVhost.DecideFPMServiceNameN),�__name__�
__module__�__qualname__�apacheInstallStatusPathrrQrRrS�serverRootPathrTrrrrr r!r"r#r$r%r&r'r(r)r]rn�countr7�staticmethodr5r6r=rirvryr|r�r�r�r�r�r�r�r�r3r3r3r4r	s�
#
0

H




H



 
H
r	)r*�os.path�sys�djangor+�append�environ�
setdefault�setup�websiteFunctions.modelsrr�plogical.vhostConfsr�managePHP.phpManagerr�plogical.CyberCPLogFileWriterrr.�plogical.processUtilitiesrr�r	r3r3r3r4�<module>s