a Ð_qi¯5ã@sðddlZddlmZdd„ZGdd„dƒZGdd„dƒZd d „Zd d „ZGd d„dƒZGdd„dƒZ Gdd„de ƒZ Gdd„de ƒZ Gdd„de ƒZ Gdd„de ƒZ Gdd„de ƒZGdd„de ƒZGdd„de ƒZdd „Zd!d"„Zd#d$„ZdS)%éN)ÚversioncCst |¡}| ¡S©N)ÚosÚpopenÚread)ÚstrZhandle©rú//usr/share/lve/modlscapi/user/lve_diagnostic.pyÚmyExecs r c@s(eZdZdZdZdZdZdZdd„ZdS)Ú LiteSpeedFÚUnknowncCs^tj d¡|_tj d¡rZttdƒ d¡ƒdkrZd|_dtdƒv|_d td ƒv|_td ƒ}dS) Nz/usr/local/lswsz/usr/local/lsws/bin/litespeedzps aux|grep litespeedÚ éTÚ1z4grep enableLVE /usr/local/lsws/conf/httpd_config.xmlÚ0z$grep -i phpSuexec\> httpd_config.xmlz%file -L /usr/local/lsws/bin/litespeed) rÚpathÚisfileÚexistÚlenr ÚsplitÚlveÚsuexec)ÚselfZarchrrr Ú__init__s "zLiteSpeed.__init__N) Ú__name__Ú __module__Ú __qualname__rrrrZ correctArchrrrrr r s r c@steZdZdZdZdZdZdZdZdZ dZ dZ dZ dZ dZdZdZdd„Zdd„Zdd„Zd d „Zd d „Zd d„ZdS)Ú ApacheInfoFr cCs| |¡dSr)Údetect)rrrrr r8szApacheInfo.__init__cCs2t |j¡t d¡krdStdd|jjƒdSdS)Nz2.2.0Ti¹ z=Unable to determine list of loaded modules, apache version %sF)rÚ LooseVersionÚ print_warningÚapache©rrrr Ú check_version;szApacheInfo.check_versioncCst|j d|d¡dkƒS)Nú Ú_moduleéÿÿÿÿ)rÚmodulesÚfind)rÚnamerrr ÚisModuleBszApacheInfo.isModulecCsv|jrr| d¡|_| d¡|_| d¡|_| d¡|_| d¡|_| d¡|_| d¡|_| d¡|_ | d ¡|_ dS) NÚ hostinglimitsÚfcgidZphp5ÚcgiÚcgidÚsuPHPÚfastcgiÚdisable_suexecr) Ú moduleInfor*r+r,Úphp_dsor-r.r/r0r1rr"rrr Ú parseModulesEs        zApacheInfo.parseModulescCsBtj |¡|_|jr>t|dƒ}| d¡dkrªd}| d¡D]"}| d¡dkr>| dd¡}qbq>|dur‚td|d|d ƒt|dƒ}|durªtd|d |ƒ| d ¡}|D]P}| d ¡d krâ|| d¡dd…|_| d¡d kr¸||  d¡dd…|_ q¸t  |j¡t  d¡kr>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(rÚreplacerÚrfindÚmpmrr2r'r4)rrÚtmpZ lsapi_confÚsÚlinesÚlinerrr 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 rksPÿÿþþþþýýýýüüüüûûûûzApacheInfo.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@s4eZdZdZdZdZdZdd„Zdd„Zdd„Z dS) ÚKernelNFcCs^tdƒ d¡|_|j d¡|_|jdkrN|j|jdd…|_tj d¡|_ n d|jv|_ dS)Nz /bin/uname -rr rr&éz/proc/lve/listZstab) r ÚrstripÚ kernelNamer(Ú isLVEKernelrrrrÚ isLVEEnabledÚ isVZKernelr"rrr r‹s  zKernel.__init__cCsÂ|jr˜|jrˆt |j¡t d¡kr&dSt |j¡t d¡krNtdd|jdƒq–t |j¡t d¡krvtdd |jdƒq–td d |jdƒq¾td d ddƒn&|jr®tddddƒntdd|jdƒdS)Nz0.8.28Tz0.8.0iéz*You are running bugy kernel LVE version %szUpgrade Kernelz0.7.0iêzoYou are running old kernel LVE version %s That version doesn't support multiple cores per LVE or memory limitsiëz5You are running very old, bugy kernel, LVE version %siìzLVE 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 infoi±z9You are not running CloudLinux kernel. Your kernel is: %szCheck /boot/grub/grub.conf)rJrrrDrKr"rrr Úcheck”s. ÿÿÿÿÿz Kernel.checkcCsNd}|jr|d|jd7}n,|jr8|d|jd7}n|d|jd7}|S)NzKernel: zOK (ú)zVZ (z Unknown ()rJrrKrH)rÚresultrrr r«sz Kernel.str) rrrrrIrKrJrrLrrrrr rE…s rEc@s8eZdZdZdZdZdd„Zdd„Zdd „Zd d „Z dS) ÚCPz Unknown CPr NcCstdƒ|_d|_tƒ|_dS)Nú/usr/sbin/apachectlz /etc/httpd)rr!Ú apache_pathrEÚkernelr"rrr r»s z CP.__init__cCs|jd|jd|j ¡S)Nr$)r)rrRrr"rrr rÀszCP.strcCs|jSr)r)r"rrr Ú__str__Ãsz CP.__str__cCs|j ¡dSr)rRrLr"rrr rLÆszCP.check) rrrr)rrRrrrSrLrrrr rO¶srOcs(eZdZdZ‡fdd„Zdd„Z‡ZS)ÚCPanelÚcPanelcsLtt|ƒ ¡tdƒ|_tdƒ|_tj  d¡rs zCustomPanel.check_config_ini)rrrr)rryr}r[rrrYr rx#s rxcCs€tj d¡rtStj d¡r tStj d¡r'liblscapi.so' binary interface, at the moment when we have 'liblscapi.so' already updated, but the new 'mod_lsapi.so' not yet copied into the Apache modules directory, 'apachectl' would fail due to unloadable modules, print errors instead of Apache properties, and eventually produce installation failure. See CLOS-3184. )r†r)rrrr Ú get_cp_name]sr‡cCstƒƒS)zÞ Call this when you want full Control Panel properties, not only its type. Properties can fail to be obtained, or be invalid, in intermediate machine state, like half-installed 'mod_lsapi'. See CLOS-3184. )r†rrrr Úget_cposrˆ)rZ distutilsrr r rrDr rErOrTr\r_rbrkrvrxr†r‡rˆrrrr Ús$ R1 )