Debian安裝Apache2+MySQL5+PHP5
終於在Debian用apt-get安裝好LAMP了,之前在CentOS使用編譯安裝,速度比現在快,但記憶體使用怎麼都優化不下來,又沒時間深入研究。。。使用yum安裝後更頭疼,別的都可以,phpmyadmin居然不能連線資料庫。。。試了N種方法都不行,最終只能放棄。裝回Debian了- -
記錄下自己的安裝過程,以備後用~
1,更新Debian:
apt-get update
apt-get updgrade
2,安裝Apache2:
由於記憶體只有360M,得省著用,所以選擇了prefork模式安裝:
apt-get install apache2-mpm-prefork
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,設定Mysql賬戶、密碼,及優化:
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
找回mysql密碼
# /etc/init.d/mysql stop
# mysqld_safe --user=mysql --skip-grant-tables --skip-networking &
# mysql -u root mysql
mysql> UPDATE user SET Password=PASSWORD('newpassword') where USER='root';
mysql> FLUSH PRIVILEGES;
mysql> quit
# /etc/init.d/mysql restart
# mysql -uroot -p
Enter password: <輸入新設的密碼newpassword>
mysql>
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,在Debian Apache5下設定多域名:
設定/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 //此處輸入域名
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
其他網站還是會正常運作,不會受到牽連~
9,安裝phpmyadmin
apt-get install phpmyadmin
安裝好之後,如果出現在/usr/share/目錄,就輸入以下
mv /usr/share/phpmyadmin /var/www/phpmyadmin
移動個目錄
安裝成功後,可以直接登陸
http://你的獨立IP/phpmyadmin
10,安裝sendmail:
很多人說sendmail不好,不過我不是要郵件伺服器,只不過需要一些郵件傳送支援罷了,sendmail對我是足夠了~
apt-get install sendmail
11,安裝 Zend Optimizer
按照它的提示一步步進行就行了。
總之一句話。如果你的伺服器環境不需要ZendOptimizer,那麼能不安就不安裝這個。避免和eaccelerator衝突。