Latest News

Home » Linux主機(安裝與維護) » 在 Linux主機下 安裝 Apache2+MySQL5+PHP5 的方法

在 Linux主機下 安裝 Apache2+MySQL5+PHP5 的方法

您想要在 Linux主機下 安裝 Apache2+MySQL5+PHP5 其方法如下:
—————————————————————-
(請先確認linux 主機更新表列設置網址是否正確?)

套件庫設定:
資料夾:/etc/apt
套件庫設定檔: /etc/apt/sources.list

———————————————–
1.執行更新:

apt-get update

apt-get updgrade
—————————————————————
2.安裝Apache2:
apt-get install apache2-mpm-prefork

apt-get install apache2
—————————————————————-
3.安裝mysql資料庫:

apt-get install mysql-server-5.0 mysql-common mysql-client
—————————————————————-
4.安裝php關聯元件,並整合mysql資料庫:

apt-get install php5-common php5-mysql php5-cgi php5-gd php5-mcrypt libapache2-mod-php5 php5-memcache php5-imagick php5-suhosin php5-xmlrpc

如果需要,可以如下安裝

apt-get install php5-common php-pear php5-curl php5-dev php5-gd php5-idn php5-imap php5-mhash php5-ming php5-mysql php5-ps php5-pspell php5-recode php5-snmp php5-sqlite php5-tidy php5-xsl

—————————————————————-
備註:
如果要刪除某個包,可以用以下指令

apt-get remove

例如:刪除php-cgi

apt-get remove php-cgi
—————————————————————-
如果不知道有哪些安裝包,可以用如下指令:

apt-cache search

例如:

apt-cache search apache2
—————————————————————-
5.設定帳號、密碼與改善:

mysqladmin -u root password ''   //在引號中輸入密碼
—————————————————————-
登入MySQL資料庫:

mysql -u root -p

修改原始帳號(mysql)

mysql>use mysql;
mysql>update user set user="自己設定使用者名" where user="root"; (將mysql的root使用者名修改成centos,防止root的密碼被暴力破解)
mysql>select Host,User,Password,Select_priv,Grant_priv from user;
mysql>delete from user where user=''; (刪除user使用者)
mysql>delete from user where password=''; (刪除user使用者)
mysql>delete from user where host=''; (刪除user使用者)
mysql>drop database test; (刪除預設的test資料庫)
mysql>flush privileges; (重整mysql的快取,讓以上設定立即生效)
mysql>quit;
—————————————————————-
修改MySQL的配置檔案在/etc/mysql/my.cnf

找到 #skip-innodb 去掉註釋

重新載入Mysql

/etc/init.d/mysql reload

或是重啟Mysql

/etc/init.d/mysql restart
—————————————————————-
6.設定php:

修改檔案:/etc/php5/apache2/php.ini

找到以下數值,修改為自己需要的數值

memory_limit
post_max_size
upload_max_filesize

關閉以下功能 Off

enable_dl
display_errors
—————————————————————-
7.Apache 改善及設定:
修改 /etc/apache2/apache2.conf檔案

Timeout 300

改為

Timeout 60

KeepAliveTimeout 15

改為:

KeepAliveTimeout 5

StartServers 5
MinSpareServers 5
MaxSpareServers 10
MaxClients 150
MaxRequestsPerChild 0

改為:

StartServers 3
MinSpareServers 5
MaxSpareServers 10
MaxClients 50
MaxRequestsPerChild 2000

找到 AddType application/x-gzip .gz .tgz 在其下加入如下內容

AddType application/x-httpd-php .php
AddType application/x-httpd-php-source .phps
——————————————
儲存離開,並重啟 apache

/etc/init.d/apache2 reload

/etc/init.d/apache2 restart
——————————————
啟動 deflate模組(用於頁面壓縮),在SSH介面輸入:

a2enmod deflate
——————————————
讓apache2得程式加載新配置的模組

/etc/init.d/apache2 force-reload
——————————————
再修改 /etc/apache2/apache2.conf檔案,在最後加入

在檔案之後加入:

DeflateCompressionLevel 6
AddOutputFilterByType DEFLATE text/html text/plain text/xml application/x-httpd-php
AddOutputFilter DEFLATE css js
——————————————
啟動mod rewrite(用於偽靜態連線位址),在SSH介面輸入:

a2enmod rewrite
——————————————
讓apache2得程式加載新配置的模組

/etc/init.d/apache2 force-reload
——————————————
再修改 /etc/apache2/apache2.conf檔案,在最後加入:
——————————————
RewriteEngine On
#RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
——————————————
網上有人這麼設定的,不過很多時候,網站多了很不好控制,都已我沒有在apache2.conf加入這最後一段。
——————————————
重新載入apache

/etc/init.d/apache2 reload
——————————————
或重啟apache

/etc/init.d/apache2 restart
—————————————————————-
8.設定多功能變數名:

設定/etc/apache2/sites-available/default,將ServerAdmin改為你自己的信箱,並在之前加入一段,作為你的空間根目錄功能變數名:

ServerName xxx.com
——————————————
將/var/www/目錄全部修改為 /home/www/
——————————————
在SSH介面輸入:

chmod 755 -R /home/www     //設定網站根目錄權限

ls -lh //檢視資料夾屬主

cd /home/www/

chown -R www-data:www-data /home/www/
——————————————
做好這些後,儲存並離開 default。
——————————————
在/home/www/建立新資料夾「1」;然後在現用的目錄「/sites-available/」新增一個檔案,假設檔名為1,開啟檔案1,輸入以下內容:

<VirtualHost *>

ServerName xxx.com       //此處輸入功能變數名

ServerAdmin webmaster@admin.com

DocumentRoot "/home/www/1/"       //網站目錄

<Directory />                               //這段加入後,可直接支援.htaccess

Options FollowSymLinks

AllowOverride All

</Directory>

ErrorLog "/var/log/apache2/1-error.log"

CustomLog "/var/log/apache2/1-access.log" common

</VirtualHost>
——————————————
儲存該檔案,然後在SSH介面下輸入:

a2ensite 1
——————————————
這時,設定的網站功能變數名已經被綁定了,在/etc/apache2/sites-enabled/資料夾會有一個1的快捷連結。
重啟一下Apache後,就可以操作該網站了:
——————————————
/etc/init.d/apache2 restart
——————————————
現在就可以用瀏覽器登陸你的功能變數名了~

分開設定確實麻煩了點,但好處還是很大的,比如我要單獨維護網站1,只需要輸入以下指令:

a2dissite silent
——————————————
然後重啟一遍即可

/etc/init.d/apache2 restart

其他網站還是會標準運作,不會受到牽連~
—————————————————————-

About

發佈留言