a q?h0@sddlZddlmZddZGdddZGdddZd d Zd d ZGd ddZGdddZ Gddde Z Gddde Z Gddde Z Gddde Z Gddde ZGddde ZGddde Zdd ZdS)!N)versioncCst|}|SN)ospopenread)strZhandler//usr/share/lve/modlscapi/user/lve_diagnostic.pymyExecs r c@s(eZdZdZdZdZdZdZddZdS) LiteSpeedFUnknowncCs^tjd|_tjdrZttdddkrZd|_dtdv|_d td v|_td }dS) Nz/usr/local/lswsz/usr/local/lsws/bin/litespeedzps aux|grep litespeed T1z4grep enableLVE /usr/local/lsws/conf/httpd_config.xml0z$grep -i phpSuexec\> httpd_config.xmlz%file -L /usr/local/lsws/bin/litespeed) rpathisfileexistlenr splitlvesuexec)selfZarchrrr __init__s "zLiteSpeed.__init__N) __name__ __module__ __qualname__rrrrZ correctArchrrrrr r s r c@steZdZdZdZdZdZdZdZdZ dZ dZ dZ dZ dZdZdZddZddZddZd d Zd d Zd dZdS) ApacheInfoFr cCs||dSr)detect)rrrrr r8szApacheInfo.__init__cCs2t|jtdkrdStdd|jjdSdS)Nz2.2.0Ti z=Unable to determine list of loaded modules, apache version %sF)r LooseVersion print_warningapacherrrr check_version;szApacheInfo.check_versioncCst|jd|ddkS)N _module)rmodulesfind)rnamerrr isModuleBszApacheInfo.isModulecCsv|jrr|d|_|d|_|d|_|d|_|d|_|d|_|d|_|d|_ |d |_ dS) N hostinglimitsfcgidZphp5cgicgidsuPHPfastcgidisable_suexecr) moduleInfor*r+r,php_dsor-r.r/r0r1rr"rrr parseModulesEs        zApacheInfo.parseModulescCsBtj||_|jr>t|d}|ddkrd}|dD]"}|ddkr>|dd}qbq>|durtd|d|d t|d}|durtd|d ||d }|D]P}|d d kr||ddd|_|dd kr|| ddd|_ qt |jt dkr>d|_ t|d|_ |dS)Nz -V 2>&1z Syntax errorrr$z lsapi.conf:zmv z.SAVEz.SAVE r zServer version:r&/rz Server MPM:z2.2Tz -M 2>&1)rrrrr r(rreplacerrfindmpmrr2r'r4)rrtmpZ lsapi_confslineslinerrr rQs0    zApacheInfo.detectcCs|jrxd|jd|jd|jd|jd|jd|jd|jd|jd |j d |j d |j }|SdSdS) NzApache verion: z, mpm=z, hostinglimits=z, cgi=z, cgid=z, fcgi=z , fastcgi=z , php DSO=z, suphp=z , suexec=z, disable_suexec=) rrr:r+r-r.r,r0r3r/rr1)rrrrr rksPzApacheInfo.strN)rrrrrr:r+r,r-r3r.r/r0r1rr2r'rr#r*r4rrrrrr r(s( rcCs$td|t||td|dS)NzCODE: z Solution: print)code error_str error_listZsolutionrrr print_errorzs  rDcCstd|t||dS)Nz WARNING: r?)rArBrCrrr r s r c@s4eZdZdZdZdZdZddZddZddZ dS) KernelNFcCs^tdd|_|jd|_|jdkrN|j|jdd|_tjd|_ n d|jv|_ dS)Nz /bin/uname -rr rr&z/proc/lve/listZstab) r rstrip kernelNamer( isLVEKernelrrrr isLVEEnabled isVZKernelr"rrr rs  zKernel.__init__cCs|jr|jrt|jtdkr&dSt|jtdkrNtdd|jdqt|jtdkrvtdd |jdqtd d |jdqtd d ddn&|jrtddddntdd|jddS)Nz0.8.28Tz0.8.0iz*You are running bugy kernel LVE version %szUpgrade Kernelz0.7.0izoYou are running old kernel LVE version %s That version doesn't support multiple cores per LVE or memory limitsiz5You are running very old, bugy kernel, LVE version %sizLVE is not enabledrzACheck /etc/sysconfig/lve file, and make sure lve rpm is installediMzYou are running VZ or OpenVZzWCloudLinux is not compatible, see http://www.cloudlinux.com/vz-compat.php for more infoiz9You are not running CloudLinux kernel. Your kernel is: %szCheck /boot/grub/grub.conf)rJrrrDrKr"rrr checks. z Kernel.checkcCsNd}|jr|d|jd7}n,|jr8|d|jd7}n|d|jd7}|S)NzKernel: zOK ()zVZ (z Unknown ()rJrrKrH)rresultrrr rsz Kernel.str) rrrrrIrKrJrrLrrrrr rEs rEc@s8eZdZdZdZdZddZddZdd Zd d Z dS) CPz Unknown CPr NcCstd|_d|_t|_dS)N/usr/sbin/apachectlz /etc/httpd)rr! apache_pathrEkernelr"rrr rs z CP.__init__cCs|jd|jd|jS)Nr$)r)rrRrr"rrr rszCP.strcCs|jSr)r)r"rrr __str__sz CP.__str__cCs|jdSr)rRrLr"rrr rLszCP.check) rrrr)rrRrrrSrLrrrr rOsrOcs$eZdZfddZddZZS)CPanelcsRtt|d|_td|_td|_tj drBd|_ d|_ n d|_ d|_ dS) NcPanelz/usr/local/cpanel/cpanel -Vz/usr/local/bin/apachectlz/etc/cpanel/ea4/is_ea4ZEA4z /etc/apache2ZEA3z/usr/local/apache) superrTrr)r rrr!rrexistsearQr" __class__rr rs   zCPanel.__init__cCs|jSr)rXr"rrr rSszCPanel.__str__)rrrrrS __classcell__rrrYr rTs rTcseZdZfddZZS)Pleskcs:tt|d|_td}|dd|_td|_dS)Nr\z/bin/cat /usr/local/psa/versionr$rrP) rVr\rr)r rrrr!rr;rYrr rs zPlesk.__init__rrrrr[rrrYr r\sr\cseZdZfddZZS) DirectAdmincsjtt|d|_td}|d}d|_td|_|D]*}| ddkr:|dd  |_qfq:dS) Nr_z1/usr/local/directadmin/custombuild/build versionsr r rPz!Installed version of DirectAdmin:r&r5r) rVr_rr)r rrrr!r(strip)rr;itemrYrr rs  zDirectAdmin.__init__r^rrrYr r_sr_cs$eZdZfddZddZZS)HSpherecs>tt|d|_td}|dd|_||_ dS)NzH-SpherezA/bin/cat /hsphere/local/home/cpanel/shiva/psoft_config/HS_VERSIONr r) rVrbrr)r rr`rget_apache_typer!r]rYrr rs zHSphere.__init__cCstjdrztd}|}||D]P}|dd}|dd}|dkr(|dkrltdStdSq(td S) Nz#/hsphere/shared/scripts/scripts.cfg=rrZapache_versionrz /hsphere/shared/apache/bin/httpdz%/hsphere/shared/apache2/bin/apachectlr6) rrropen readlinescloserr`r)rfr=rakeyvaluerrr rcs  zHSphere.get_apache_type)rrrrrcr[rrrYr rbs rbcs$eZdZfddZddZZS)iWorxcs2tt|d|_d|_||_td|_dS)N InterWorx/usr/local/interworx/iworx.inirP) rVrkrr)ini_file find_versionrrr!r"rYrr r s  ziWorx.__init__cCszft|jd}|}Wdn1s,0Y|dddddddddd WStyzYdS0dS) Nrrr r6rd"[r)rernrrr8 Exception)rZini_infooutrrr ros &2 ziWorx.find_version)rrrrror[rrrYr rk s rkcseZdZfddZZS)ISPMgrcs(tt|d|_d|_td|_dS)N ISPManagerZunkrP)rVrvrr)rrr!r"rYrr rszISPMgr.__init__r^rrrYr rvsrvcs,eZdZfddZddZddZZS) CustomPanelcs,tt|d|_|d|_d|_dS)Nrxz /usr/share/lve/modlscapi/custom/)rVrxrr) config_readerroot_dirr!r"rYrr r$s zCustomPanel.__init__cCsddl}|}||jd|d}|||d|_|d|_|d|_|d|_ |d |_ |jrt |j|_ dS) zRead all configurations related to Custom Panel from config.ini in the 'root_dir' folder. config.ini file must include GLOBAL section. rNz config.iniZGLOBALZVERSIONZAPACHECTL_BIN_LOCATIONZDOC_URLZEXECUTABLE_BINZ PANEL_NAME) configparser ConfigParserrrzcheck_config_inigetrZ apachectldoc_url executable panel_namerr!)rr{Zconfig cp_configrrr ry+s      zCustomPanel.config_readercCsLgd}g}|D]}||dur||q|rHtd|tddS)N)rZapachectl_bin_locationrZexecutable_binrz&Config file is missing required keys: r)r~appendr@exit)rrZ required_keysZ missing_keysrirrr r}>s zCustomPanel.check_config_ini)rrrrryr}r[rrrYr rx#s rxcCstjdrt}ntjdr(t}nvtjdrHtjdrHt}nVtjdr\t}nBtjdrpt}n.tjdrt }ntjdrt }nt }|S) Nz/usr/local/cpanel/cpanelz/usr/local/psa/versionz/usr/local/directadminz(/usr/local/directadmin/custombuild/buildz8/hsphere/local/home/cpanel/shiva/psoft_config/HS_VERSIONz/usr/local/ispmgrrmz*/usr/share/lve/modlscapi/custom/config.ini) rrrrTr\isdirr_rbrvrkrxrO)cprrr get_cpMs       r)rZ distutilsrr r rrDr rErOrTr\r_rbrkrvrxrrrrr s  R1 *