Debian安裝Apache2+MySQL5+PHP5

disable發表於2021-09-09

終於在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

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,輸入以下內容:

ServerName xxx.com       //此處輸入域名

ServerAdmin

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

                               //這段新增後,可直接支援.htaccess

Options FollowSymLinks

AllowOverride All

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

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

儲存該檔案,然後在SSH介面下輸入:

a2ensite 1

這時,設定的網站域名已經被繫結了,在/etc/apache2/sites-enabled/資料夾會有一個1的快捷連結。重啟一下Apache後,就可以操作該網站了:

/etc/init.d/apache2 restart

現在就可以用瀏覽器登陸你的域名了~

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

a2dissite silent

然後重啟一遍即可

/etc/init.d/apache2 restart

其他網站還是會正常運作,不會受到牽連~

9,安裝phpmyadmin:

由於debian的php版本是5.2的,所以可以使用phpmyadmin3.1,也省去了不少麻煩,不用apt-get安裝,直接如下操作即可:

cd /usr/local/src    
wget
http://ncu.dl.sourceforge.net/sourceforge/phpmyadmin/phpMyAdmin-3.2.0-all-languages.tar.gz    
tar zxvf phpMyAdmin-3.2.0-all-languages.tar.gz    
cp -rf phpMyAdmin-3.2.0-all-languages /home/www/phpmyadmin

10,安裝sendmail:

很多人說sendmail不好,不過我不是要郵件伺服器,只不過需要一些郵件傳送支援罷了,sendmail對我是足夠了~

apt-get install sendmail

11,安裝 Zend Optimizer

cd /usr/local/src    
wget
   
tar xzvf ZendOptimizer-3.3.3-linux-glibc23-i386.tar.gz    
./ZendOptimizer-3.3.3-linux-glibc23-i386/install.sh

按照它的提示一步步進行就行了。

總之一句話。如果你的伺服器環境不需要ZendOptimizer,那麼能不安就不安裝這個。避免和eaccelerator衝突。

#伺服器

安裝Apache Mysql PHP

安裝之前,保證你的版本是最新的。使用命令:(“#”表示你應該以root的身份來執行)。

 # aptitude update && aptitude upgrade
  • mysql

使用下面的命令來安裝mysql:

 # aptitude install mysql-server mysql-client

安裝完mysql server後,你應該修改下root的密碼。*此步驟對debian Lenny版本無效,因為在安裝的時候你將會被要求輸入mysql root使用者的密碼。

# /usr/bin/mysqladmin -u root password 'enter-your-good-new-password-here'

為了安全起見,你應該不使用root賬戶來執行資料庫,而是新建一個賬戶來從一個PHP指令碼來連線你的mysql資料庫

  • apache2

 # aptitude install apache2 apache2-doc
  • PHP

# aptitude install php5 php5-mysql libapache2-mod-php5

配置Apache Mysql PHP

Apache2 配置檔案: /etc/apache2/apache2.conf

當需要的時候,你可以編輯此配置檔案。

測試PHP

為了測試php介面, 編輯檔案 /var/www/apache2-default/test.php:

# nano /var/www/apache2-default/test.php

插入下面程式碼

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/200/viewspace-2804939/,如需轉載,請註明出處,否則將追究法律責任。

相關文章