نوشته شده توسط بهروز ورزنده.
در این آموزش ، آپاچی را به همراه FCGI نصب خواهیم کرد . استفاده از FastCGI به همراه php به ما این امکان را می دهد که چند ورژن php را بسازیم و با استفاده از suexec که می تواند کاربر وب را با نمونه خودش پشتیبانی کند و این به این معنی است که ما برای هریک از کاربران وب به صورت جداگانه فایل php.ini خواهیم داشت .
نصب Apache ۲ :
apt-get install apache2 apache2-mpm-worker libapache2-mod-fcgid apache2 -suexec-custom
نصب PHP ۵ :
apt-get install php5 libapache2-mod-php5 php5-cgi php5-cli php5-gd php5-mysql php5-json
نصب mysql-client :
apt-get install mysql-client
ویرایش suexec userdir :
vi /etc/apache2/suexec/www-data
با محتوای :
/home/ public_html/cgi-bin
راه اندازی FCGI :
ایجاد یک نام کاربری :
useradd -m user1 cd /home/user1
ایجاد پوشه cgi-bin با یک دایرکتوری فرعی در home user 1 :
mkdir -p cgi-bin/php5-default
cd cgi-bin/php5-default
ایجاد یک فایل با نام php-fcgi-wrapper :
vi php-fcgi-wrapper
با محتوای :
#!/bin/sh # Wrapper for PHP-fcgi # This wrapper can be used to define settings before launching the PHP-fcgi binary. # Define the path to php.ini. This defaults to /etc/phpX/cgi. export PHPRC=/home/user1/conf # Define the number of PHP child processes that will be launched. # This is low to control memory usage on a server that might launch # these processes for lots of domains. # Leave undefined to let PHP decide. export PHP_FCGI_CHILDREN=0 # Maximum requests before a process is stopped and a new one is launched export PHP_FCGI_MAX_REQUESTS=0 # Launch the PHP CGI binary # This can be any other version of PHP which is compiled with FCGI support. exec /usr/bin/php5-cgi
ذخیره و ساختن فایل های اجرایی :
chmod +x php-fcgi-wrapper
ایجاد یک پوشه دیگر با نام conf در home user 1 :
mkdir /home/user1/conf cd /home/user1/conf
ایجاد فایل php.ini :
vi php.ini
با محتوای :
display_errors = On
رفتن به home user 1 و ساخت پوشه public-html :
cd /home/user1 mkdir public_html
ایجاد یک فایل phpinfo در public-html :
cd public_html vi phpinfo.php
با محتوای :
<span style="color: #000000;"><span style="color: #0000cc;"><?php phpinfo</span><span style="color: #006600;">(); </span><span style="color: #0000cc;">?></span></span>
تغییر مالکیت user 1 :
chown -R user1:user1 /home/user1/
راه اندازی در Virtualhost :
vi /etc/apache2/sites-available/demo1.unixmen.com.conf
با محتوای :
DocumentRoot /home/user2/public_html ServerName demo2.unixmen.com SuexecUserGroup user2 user2 ErrorLog /var/log/apache2/demo2-error_log LogLevel debug CustomLog /var/log/apache2/demo2-access_log combined Options FollowSymLinks AllowOverride All Require all granted AddHandler php-fcgi .php Action php-fcgi /fcgi-bin/php-fcgi-wrapper # FastCgiExternalServer /var/www/cgi-bin/php5-default_php538 -socket /var/run/php5-fpm.sock -pass-header Authorization # Define alias "/fcgi-bin/". The action above is using this value, which means that # you could run another "php5-cgi" command by just changing this alias Alias /fcgi-bin/ /home/user2/cgi-bin/php5-default/ # Turn on the fcgid-script handler for all files within the alias "/fcgi-bin/" SetHandler fcgid-script Options +ExecCGI RewriteEngine On RewriteRule ^/fcgi-bin/[^/]*$ / [PT]
فعال کردن سایت :
a2ensite demo1.unixmen.com.conf
غیر فعال کردن ماژول PHP 5 :
a2dismod php5
فعال کردن ماژول ها :
a2enmod suexec actions rewrite
راه اندازی مجددسرویس apache 2 :
service apache2 restart
اطلاعات PHP را برای user 1 بررسی کنید :
http://demo1.unixmen.com/phpinfo.php
نوشته نصب APACHE 2 به همراه FastCGI بر روی Ubuntu server 14.04 اولین بار در لینوکس سیزن , آموزش گنو / لینوکس پدیدار شد.