Dedikuoti serveriai, VDS hostingas, debesų kompiuterija
Interneto vizija
Karjera El. paštas

Grįžti   Dedikuoti.lt forumas > Bendruomenės diskusijos > Pamokos > Web serveriai

Atsakyti
 
Temos įrankiai Ieškoti šioje temoje
  #1  
Senas 2012-08-28, 15:42
IV_RomanL avataras
IV_RomanL IV_RomanL neprisijungęs
Interneto vizija
 
Prisiregistravo: 2011 11
Vieta: Vilnius
Žinutės: 648
Arrow Apache2 + mod_fcgid + PHP5 + MySQL diegimas CentOS 6 aplinkoje

Pamokoje aprašytas būdas, kuriuo pasinaudoję galėsite įdiegti standartines web serverio, duomenų bazės bei PHP aplikacijas. Skirtingai nuo anksčiau aprašytos pamokos šiuo atveju įdiegsime modulį mod_fcgid kuris suteikia galimybę vykdyti script'us vartotojo teisėmis. Tai reiškia jog jums nebereiks nustatinėti aplanko teisių.

Pamoka parengta naudojant CentOS 6 64-bit operacinę sistemą.

0. Atnaujinkite operacinę sistemą:

Kodas:
yum update -y
Įsidiekite nano tekstinį redaktorių:

Kodas:
yum install nano -y
1. Diegiame Apache2 / mod_fcgid / PHP5 paketus. Tam tereikia įvykdyti šiuos žingsnius.

Aktyvuojame EPEL repozitoriją:

Kodas:
rpm -import https://fedoraproject.org/static/0608B895.txt
rpm -Uvh http://dl.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm
Įdiegiame yum-priorities paketą:

Kodas:
yum install yum-priorities -y
Redaguojame repozitorijos failą:

Kodas:
nano /etc/yum.repos.d/epel.repo
Ties grafa [epel] pridėkite eilutę priority=10 , pavyzdys:

Citata:
[epel]
name=Extra Packages for Enterprise Linux 6 - $basearch
#baseurl=http://download.fedoraproject.org/pub/epel/6/$basearch
mirrorlist=https://mirrors.fedoraproject.org/metalink?repo=epel-6&arch=$basearch
failovermethod=priority
enabled=1
priority=10
gpgcheck=1
[..]
Įdiegiame apache2, mod_fcgid, php paketus:

Kodas:
yum install httpd mod_fcgid php-cli -y
2. Konfigūruojame PHP bei mod_fcgid.

Atidarome php.ini failą:

Kodas:
nano /etc/php.ini
Raskite eilutę cgi.fix_pathinfo=1: ir pašalinkite komentarą ";" eilutės pradžioje.

Atverkite failą fcgid.conf :

Kodas:
nano /etc/httpd/conf.d/fcgid.conf
Apačioje pridėkite įrašą:

Citata:
PHP_Fix_Pathinfo_Enable 1
Viską išsaugokite ir perkraukite apache tarnybą:

Kodas:
/etc/init.d/httpd reload
3. Kuriame virtualius serverius (vhosts). Tai padės atskirti svetaines bei individualizuoti jų nustatymus.

Kursime 2 virtualius serverius www.roman1.lt (/var/www/t1/public_html) bei www.roman2.lt (/var/www/t2/public_html). www.roman1.lt domenui bus priskirtas t1 vartototas bei t1 grupė, www.roman2.lt bus priskirtas t2 vartotojas bei t2 grupė.

Kuriame vartotojus ir grupes:
Kodas:
groupadd t1
groupadd t2
useradd -s /bin/false -d /var/www/t1 -m -g t1 t1
useradd -s /bin/false -d /var/www/t2 -m -g t2 t2
chmod 755 /var/www/t1
chmod 755 /var/www/t2
Sukuriame aplankus ir priskiriame jam vartotojus bei grupes:
Kodas:
mkdir -p /var/www/t1/public_html
chown t1:t1 /var/www/t1/public_html
mkdir -p /var/www/t2/public_html
chown t2:t2 /var/www/t2/public_html
PHP procesus leisime naudodamiesi suEXEC, suEXEC aplankas bus /var/www .

Kodas:
mkdir -p /var/www/php-fcgi-scripts/t1
mkdir -p /var/www/php-fcgi-scripts/t2
Sukuriame php-fcgi starterius kiekvienam virtualiam serveriui:

Kodas:
nano /var/www/php-fcgi-scripts/t1/php-fcgi-starter
Įterpiame kodą:
Kodas:
#!/bin/sh
PHPRC=/etc/
export PHPRC
export PHP_FCGI_MAX_REQUESTS=5000
export PHP_FCGI_CHILDREN=8
exec /usr/bin/php-cgi
Kodas:
nano /var/www/php-fcgi-scripts/t2/php-fcgi-starter
Įterpiame kodą:
Kodas:
#!/bin/sh
PHPRC=/etc/
export PHPRC
export PHP_FCGI_MAX_REQUESTS=5000
export PHP_FCGI_CHILDREN=8
exec /usr/bin/php-cgi
čia:

PHPRC -- aplankas kuriame bus php.ini failas;
PHP_FCGI_MAX_REQUESTS -- maksimalus procesų skaičius. Jį viršijus bus sukurtas dar vienas fcgid procesas.
PHP_FCGI_CHILDREN -- papildomai paleidžiamų PHP procesų skaičius.

PHP_FCGI starteriai turi turėti vykdymo teises:

Kodas:
chmod 755 /var/www/php-fcgi-scripts/t1/php-fcgi-starter
chmod 755 /var/www/php-fcgi-scripts/t2/php-fcgi-starter
chown -R t1:t1 /var/www/php-fcgi-scripts/t1
chown -R t2:t2 /var/www/php-fcgi-scripts/t2
Beliko sukurti virtualius serverius apache konfigūraciniame faile:

Kodas:
nano /etc/httpd/conf/httpd.conf
Apačioje pridėkite šias eilutes (atitinkamai pagal save koreguokite pajuodintas sritis):

Citata:
NameVirtualHost *:80
# roman1.lt serveriukas
<VirtualHost *:80>
ServerName www.roman1.lt
ServerAlias roman1.lt
ServerAdmin webmaster@roman1.lt
DocumentRoot /var/www/t1/public_html/
<IfModule mod_fcgid.c>
SuexecUserGroup t1 t1
<Directory /var/www/t1/public_html/>
Options +ExecCGI
AllowOverride All
AddHandler fcgid-script .php
FCGIWrapper /var/www/php-fcgi-scripts/t1/php-fcgi-starter .php
Order allow,deny
Allow from all
</Directory>
</IfModule>
ServerSignature Off
</VirtualHost>

# roman2.lt serveriukas
<VirtualHost *:80>
ServerName www.roman2.lt
ServerAlias roman2.lt
ServerAdmin webmaster@roman2.lt
DocumentRoot /var/www/t2/public_html/
<IfModule mod_fcgid.c>
SuexecUserGroup t2 t2
<Directory /var/www/t2/public_html/>
Options +ExecCGI
AllowOverride All
AddHandler fcgid-script .php
FCGIWrapper /var/www/php-fcgi-scripts/t2/php-fcgi-starter .php
Order allow,deny
Allow from all
</Directory>
</IfModule>
ServerSignature Off
</VirtualHost>
Perkrauname apache serverį:

Kodas:
/etc/init.d/httpd reload
Testavimo tikslais galite kiekviename virtualiame serveryje sukurti PHPinfo failą:

Kodas:
nano /var/www/t1/public_html/nfo.php
Kodas:
nano /var/www/t2/public_html/nfo.php
Įrašykite kodą:

PHP kodas:
<?php
phpinfo
();
?>
Belieka patikrinti: http://www.roman1.lt/nfo.php bei http://www.roman2.lt/nfo.php .

4. Papildomai kiekvienam virtualiam serveriui galite suteikti individualų php.ini failą.

Nukopijuojame bazinį php.ini failą:
Kodas:
cp /etc/php.ini /var/www/t1/
Suteikiame vartotojo teises:

Kodas:
chown t1:t1 /var/www/t1/php.ini
Redaguojame PGP_FCGI starterį:

Kodas:
nano /var/www/php-fcgi-scripts/t1/php-fcgi-starter
Kodas:
#!/bin/sh
PHPRC=/var/www/t2/
export PHPRC
export PHP_FCGI_MAX_REQUESTS=5000
export PHP_FCGI_CHILDREN=8
exec /usr/bin/php-cgi
Atlikę pakeitus perkraukite apache serverį:

Kodas:
/etc/init.d/httpd reload
Taip pat, galite PHP_FCGI starteryje nurodyti konkrečią php.ini reikšmę kurią pageidaujate keisti. Pavyzdys:

Kodas:
#!/bin/sh
PHPRC=/etc/
export PHPRC
export PHP_FCGI_MAX_REQUESTS=5000
export PHP_FCGI_CHILDREN=8
exec /usr/bin/php-cgi -d magic_quotes_gpc=off
5. Įdiegiame MySQL serverį:

Kodas:
yum install mysql mysql-server -y
Nurodome serveriui, jog paleistų šią tarnybą jei dedikuotas serveris būtų perkrautas. Vykdome šias komandas SSH konsolėje:

Kodas:
chkconfig --levels 235 mysqld on
service mysqld restart
Atliekame MySQL serverio konfiguraciją (suteikiame root vartotojui slaptažodį). Vykdome komandą SSH konsolėje:

Kodas:
mysql_secure_installation
Jums pateiks klausimą:

Kodas:
NOTE: RUNNING ALL PARTS OF THIS SCRIPT IS RECOMMENDED FOR ALL MySQL
      SERVERS IN PRODUCTION USE!  PLEASE READ EACH STEP CAREFULLY!
  
  
  In order to log into MySQL to secure it, we'll need the current
  password for the root user.  If you've just installed MySQL, and
  you haven't set the root password yet, the password will be blank,
  so you should just press enter here.
  
  Enter current password for root (enter for none):
Šioje vietoje spauskite mygtuką ENTER .

Ties laukais:

Kodas:
Set root password? [Y/n] spauskite y raidelę ir ENTER
  New password: nurodykite slaptažodį
  Re-enter new password: pakartokite slaptažodį
Remove anonymous users? [Y/n] spauskite y raidelę ir ENTER
Disallow root login remotely? [Y/n] spauskite y raidelę ir ENTER
Remove test database and access to it? [Y/n] spauskite y raidelę ir ENTER
Reload privilege tables now? [Y/n] spauskite y raidelę ir ENTER
6. Įdiegiame papildomus PHP modulius:

Kodas:
yum install php-mysql php-gd php-imap php-ldap php-odbc php-pear php-xml php-xmlrpc -y
Perkrauname apache serverį:

Kodas:
service httpd restart
Atsakyti su citata
  #2  
Senas 2012-10-12, 18:22
Trickas Trickas neprisijungęs
Naujokas (-ė)
 
Prisiregistravo: 2012 10
Žinutės: 12
Pagrindinis Ats: Apache2 + mod_fcgid + PHP5 + MySQL diegimas CentOS 6 aplinkoje

Įsirašiau, bet ties 5 punktu gaunu tokį error: MySQL server through socket '/var/lib/mysql/mysql.sock' (2) ir neina prisijunkti prie phpmyadmin (mysql)
Atsakyti su citata
  #3  
Senas 2012-10-12, 19:56
IV_RomanL avataras
IV_RomanL IV_RomanL neprisijungęs
Interneto vizija
 
Prisiregistravo: 2011 11
Vieta: Vilnius
Žinutės: 648
Pagrindinis Ats: Apache2 + mod_fcgid + PHP5 + MySQL diegimas CentOS 6 aplinkoje

Tokia klaida pateikiama kuomet MySQL tarnyba nėra paleista (dažniausiai). Įvykdykite komandą:

Kodas:
service mysqld start
Atsakyti su citata
  #4  
Senas 2012-10-12, 20:17
Trickas Trickas neprisijungęs
Naujokas (-ė)
 
Prisiregistravo: 2012 10
Žinutės: 12
Pagrindinis Ats: Apache2 + mod_fcgid + PHP5 + MySQL diegimas CentOS 6 aplinkoje

Ačiū, susitvarkiau.

Paskutinį kartą redagavo Trickas : 2012-10-12 20:21
Atsakyti su citata
Atsakyti

Žymės
apache, apache2, centos, centos 6, dedikuotas serveris, ldap, mod_fcgid, mysql, mysql5, php, php5

Temos įrankiai Ieškoti šioje temoje
Ieškoti šioje temoje:

Detali paieška

Žinučių rašymo taisyklės
Jūs negalite kurti naujų temų
Jūs negalite rašyti žinučių
Jūs negalite įkelti failų
Jūs negalite redaguoti savo įrašų

BB kodas yra Įjungtas
Šypsenos yra Įjungtas
[IMG] kodas yra Įjungtas
HTML kodas yra Išjungtas

Greita navigacija

Panašios temos
Tema Temą sukūrė Forumas Atsakymai Paskutinė žinutė
MySQL 5.1.x atnaujinimas į MySQL 5.5.x CentOS 5/6 operacinės sistemos aplinkoje IV_RomanL Archyvas 3 2013-09-10 17:34
Nginx web serverio + PHP5 (su PHP-FPM) + MySQL5 įdiegimas CentOS 6 aplinkoje IV_RomanL Web serveriai 2 2013-06-21 13:28
PureFTPd susieto su MySQL įdiegimas CentOS 6 aplinkoje IV_VygandasS Kitos aplikacijos 0 2013-04-26 18:48
Apache2 + PHP5 + MySQL + PhpMyAdmin diegimas CentOS 5 / 6 aplinkoje IV_RomanL Archyvas 5 2012-07-18 14:15
Lighttpd web serverio + PHP5 + MySQL5 diegimas CentOS 6 aplinkoje IV_RomanL Web serveriai 0 2011-12-16 13:56


Visi laikai yra GMT +3. Šiuo metu yra 13:01.


Powered by vBulletin®
Copyright ©2000 - 2018, vBulletin Solutions, Inc.