frame

Sveiki apsilankę!

Jei forume lankaisi pirmą kartą, kviečiame registruotis ir prisijungti prie diskusijų.

Prisijungti Registruotis

Keletos PHP versijų naudojimas Webmin valdymo pulte

iv_almantasmiv_almantasm Super Moderator
edited spalio 10 Į Valdymo pultai
Webmin serverio valdymo pulto šablono standartinė PHP versija yra 5.6. Tačiau Webmin valdymo pulte galima vienu metu skirtingoms svetainėms naudoti keletą skirtingų PHP versijų. Šioje pamokoje pateiksime kaip viename Webmin valdymo pulte vienu metu naudoti dvi skirtingas PHP versijas - 5.5 ir 7.0.


0. Preliminarūs reikalavimai:

Pamoka parengta naudojant mūsų Webmin valdymo pulto šabloną su OpenVZ virtualizacija.


1. Naujos PHP versijos instaliavimas:

Prisijungimo prie serverio per terminalą ir pridėkite papildomą repozitoriją:
yum install centos-release-scl

Instaliuokite PHP 7.0 paketus:
yum install rh-php70 rh-php70-php-mysqlnd

AKtyvuokite "suexec" modulį. Tai atliksite su komanda terminale:
vi /etc/httpd/conf/httpd.conf

Čia pašalinkite simbolį '#' iš eilutės "LoadModule suexec_module modules/mod_suexec.so" bei perkraukite Apache tarnybą:
service httpd restart

Tuomet prisjungus prie Webmin valdymo pulto pasirinkite:

Virtualmin -> System Settings -> Re-Check Configuration.

Čia turėtumėte matyti įrašą panašų į:

The following PHP versions are available : 5.5.38 (/usr/bin/php-cgi), 7.0.10 (/opt/rh/rh-php70/root/usr/bin/php-cgi)


2. PHP versijos keitimas:

PHP versijos keitimas bus galimas naujai pridedamiems virtualiems serveriams. Tam pirmiausiai reikės pakeisti keletą standartinių nustatymų.

Webmin valdymo pulte pasirinkite: Virtualmin -> System Settings -> Server Templates
Tuomet pasirinkite "Default settings"
Eilutėje "Edit template section" pasirinkite "Apache website", bei pasirinkite

Automatically add appropriate SuExec directive: YES
Default PHP execution mode: CGI wrapper (run as virtual server owner)


Pakeiskite naujai pridedamų domenų "root" katalogą:

Virtaulmin -> System Settings -> Virtualmin Configuration -> Defaults for new domains -> Skiltyje "Home directory base" nurodykite "/var/www" (be kabučių) ir išsaugokite pakeitimus.

Dabar pridėjus naują virtualų serverį PHP versiją į kitą bus galima pakeisti pasirinkus:

Virtualmin -> ServerConfiguration -> PHP version

attachmentphpattachmentid293stc1d1511172461

Įsitikinti, kad PHP versija buvo sėkmingai pakeista, galite sukūrę failą su PHP informacija. Tai galite atlikti su komanda:
vi /var/www/jusu_domenas.lt/public_html/info.php

Čia įrašykite tokias eilutes:

serveris.macaitis.eu/public_html/
<?php

phpinfo();

?>

Tuomet užeikite adresu jusu_domenas.lt/info.php ir matysite informaciją apie šiam domenui pritaikytą PHP versiją:

attachmentphpattachmentid320stc1d1515403405
Pažymėtos temos:

Komentarai

  • b2bdealb2bdeal Naujokas (-ė)
    edited 2018 sausio 6
    Manual'as nėra tikslus atlikus yum install rh-php70 rh-php70-php-mysqlnd
    jos neatpažysta webmin 1.87
    ./usr/libexec/webmin/virtual-server/virtual-server-lib.pl
    $extra_admins_dir = "$module_config_directory/admins";
    @all_possible_php_versions = (4, 5, 5.2, 5.3, 5.4, 5.5, 5.6, 5.7, 5.8, 5.9);
    @php_wrapper_templates = ("php4cgi", "php5cgi", "php4fcgi", "php5fcgi");
    

    Tik sukūrus link PHP versija pridedama ir matoma webmin.
    "ln -s /opt/rh/rh-php70/ /opt/rh/php59"
    "ln -s /opt/rh/rh-php56/ /opt/rh/php56"

    Vėliau pasirenkame php versiją virtualiam serverui ir išaugom nustatymus

    http://jmp.sh/PrDIZuM

    Nustatymai yra išsaugomi httpd.conf faile, bet versija nepasikeičia lieka ta pat default.
    <VirtualHost IP:80>
    ServerName domenas.lt
    ServerAlias www.domenas.lt
    ServerAlias webmail.domenas.lt
    ServerAlias admin.domenas.lt
    DocumentRoot /home/domenas.lt/public_html
    php_admin_value open_base_dir "/home/domenas.lt/public_html/:/tmp"
    php_admin_value engine Off
    ErrorLog /var/log/virtualmin/domenas.lt_error_log
    CustomLog /var/log/virtualmin/domenas.lt_access_log combined
    ScriptAlias /cgi-bin/ /home/domenas.lt/cgi-bin/
    DirectoryIndex index.html index.htm index.php index.php5
    <Directory /home/domenas.lt/public_html>
    Options -Indexes +IncludesNOEXEC +SymLinksifOwnerMatch
    allow from all
    AllowOverride All 
    AddType application/x-httpd-php5 .php5
    AddType application/x-httpd-php .php
    </Directory>
    <Directory /home/domenas.lt/cgi-bin>
    allow from all
    AllowOverride All Options=ExecCGI,Includes,IncludesNOEXEC,Indexes,MultiViews,SymLinksIfOwnerMatch
    </Directory>
    RewriteEngine on
    RewriteCond %{HTTP_HOST} =webmail.domenas.lt
    RewriteRule ^(.*) http://domenas.lt:20000/ [R]
    RewriteCond %{HTTP_HOST} =admin.domenas.lt
    RewriteRule ^(.*) http://domenas.lt:10000/ [R]
    RewriteCond %{HTTPS} !on
    RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI}
    Action application/x-httpd-php5 /cgi-bin/php5.cgi
    Action application/x-httpd-php5.6 /cgi-bin/php5.6.cgi
    Action application/x-httpd-php5.9 /cgi-bin/php5.9.cgi
    AddType application/x-httpd-php5 .php5
    AddType application/x-httpd-php5.6 .php5.6
    AddType application/x-httpd-php5.9 .php5.9
    AddType application/x-httpd-php5.9 .php
    RemoveHandler .php
    RemoveHandler .php5
    RemoveHandler .php5.6
    RemoveHandler .php5.9
    SuexecUserGroup "#524" "#514"
    <Directory /home/domenas.lt/public_html>
    Options +Indexes +IncludesNOEXEC +SymLinksifOwnerMatch +ExecCGI
    allow from all
    AllowOverride All Options=ExecCGI,Includes,IncludesNOEXEC,Indexes,MultiViews,SymLinksIfOwnerMatch
    Action application/x-httpd-php5 /cgi-bin/php5.cgi
    AddType application/x-httpd-php5 .php5
    Action application/x-httpd-php5.6 /cgi-bin/php5.6.cgi
    AddType application/x-httpd-php5.6 .php5.6
    Action application/x-httpd-php5.9 /cgi-bin/php5.9.cgi
    AddType application/x-httpd-php5.9 .php5.9
    AddType application/x-httpd-php5.9 .php
    </Directory>
    <Directory /home/domenas.lt/public_html/testas>
    Options +Indexes +IncludesNOEXEC +SymLinksifOwnerMatch +ExecCGI
    allow from all
    AllowOverride All Options=ExecCGI,Includes,IncludesNOEXEC,Indexes,MultiViews,SymLinksIfOwnerMatch
    Action application/x-httpd-php5 /cgi-bin/php5.cgi
    AddType application/x-httpd-php5 .php5
    Action application/x-httpd-php5.6 /cgi-bin/php5.6.cgi
    AddType application/x-httpd-php5.6 .php5.6
    Action application/x-httpd-php5.9 /cgi-bin/php5.9.cgi
    AddType application/x-httpd-php5.9 .php5.9
    AddType application/x-httpd-php5.6 .php
    </Directory>
    </VirtualHost>
    
    <VirtualHost ip:443>
    ServerName iwanted.lt
    ServerAlias www.domenas.lt
    ServerAlias webmail.domenas.lt
    ServerAlias admin.domenas.lt
    DocumentRoot /home/domenas.lt/public_html
    php_admin_value open_base_dir "/home/domenas.lt/public_html/:/tmp"
    ErrorLog /var/log/virtualmin/domenas.lt_error_log
    CustomLog /var/log/virtualmin/domenas.lt_access_log combined
    ScriptAlias /cgi-bin/ /home/domenas.lt/cgi-bin/
    DirectoryIndex index.html index.htm index.php index.php5
    <Directory /home/domenas.lt/public_html>
    Options -Indexes +IncludesNOEXEC +SymLinksifOwnerMatch
    allow from all
    AllowOverride All 
    </Directory>
    <Directory /home/domenas.lt/cgi-bin>
    allow from all
    AllowOverride All Options=ExecCGI,Includes,IncludesNOEXEC,Indexes,MultiViews,SymLinksIfOwnerMatch
    </Directory>
    RewriteEngine on
    RewriteCond %{HTTP_HOST} =webmail.domenas.lt
    RewriteRule ^(.*) https://domenas.lt:20000/ [R]
    RewriteCond %{HTTP_HOST} =admin.domenas.lt
    RewriteRule ^(.*) https://domenas.lt:10000/ [R]
    RewriteCond %{HTTP_HOST} !=www.domenas.lt [NC]
    RewriteCond %{HTTP_HOST} !=""
    RewriteRule ^ https://www.domenas.lt\/%{REQUEST_URI} [R,L]
    RewriteCond %{HTTPS} !on
    RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI}
     SSLEngine on
        SSLProtocol all -SSLv2 -SSLv3 -TLSv1
        SSLHonorCipherOrder on
        SSLCipherSuite EECDH+AESGCM:EDH+AESGCM:AES256+EECDH:AES256+EDH
        SSLStrictSNIVHostCheck on
    SSLCertificateFile /etc/letsencrypt/live/domenas.lt/cert.pem
    SSLCertificateKeyFile /etc/letsencrypt/live/domenas.lt/privkey.pem
    SSLCertificateChainFile /etc/letsencrypt/live/domenas.lt/chain.pem
    </VirtualHost>
    

    Ta pati problema kartojasi ir ant naujai sukurto atsiro virtualaus serverio be https palaikymo.

    Gal galite paaiškinti kaip būtų galima išpresti problemą?

    P.S. Tuo pačiu būtų didelė pagalba kitiems jūsų klientams norintiems turėti kelias php versijas.
  • iv_almantasmiv_almantasm Super Moderator
    edited 2018 sausio 8
    Jūsų minėtos problemos atkartoti nepavyksta, visgi kiek papildėme pamoką, akcentuojant tai jog ši pamoka skirta naujai pridedamų virtualių serverių PHP versijos keitimui. Norint pakeisti jau pridėtos ir veikiančios svetainės svetainės PHP versiją tikėtina, kad susidurtumėte su nesklandumais, kadangi reikėtų keisti "suexec" modulio "root" katalogą. Bednru atveju, tai greičiausiai pavyktų atlikti pagal šią instrukciją , visgi veikiančioje sistemoje to atlikti nerekomenduotume.

    Taip pat patikrinus Jūsų minėtą failą /usr/libexec/webmin/virtual-server/virtual-server-lib.pl matome, kad net ir naujoj Webmin instaliacijoje jame nurodyta:
    $extra_admins_dir = "$module_config_directory/admins";
    @all_possible_php_versions = (4, 5, 5.2, 5.3, 5.4, 5.5, 5.6, 5.7, 5.8, 5.9,
    			      "7.0");
    @php_wrapper_templates = ("php4cgi", "php5cgi", "php4fcgi", "php5fcgi");
    

    Taigi galite pamėginti atitinkamai paredaguoti šį failą nurodant reikiamą versiją.
Norėdami palikti komentarą, turite prisijungti arba registruokis.