Debian安裝Apache2+MySQL5+PHP5

終於在Debian用apt-get安裝好LAMP了,以前在CentOS使用編譯安裝,速度比如今快,但內存使用怎麼都優化不下來,又沒時間深刻研究。。。使用yum安裝後更頭疼,別的均可以,phpmyadmin竟然不能鏈接數據庫。。。試了N種方法都不行,最終只能放棄。裝回Debian了- -php

記錄下本身的安裝過程,以備後用~css

1,更新Debian:html

apt-get updatemysql

apt-get updgradelinux

2,安裝Apache2:sql

因爲內存只有360M,得省着用,因此選擇了prefork模式安裝:數據庫

apt-get install apache2-mpm-preforkapache

3,安裝mysqlcentos

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

<VirtualHost *>

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

ServerAdmin

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:

因爲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
http://downloads.zend.com/optimizer/3.3.3/ZendOptimizer-3.3.3-linux-glibc23-i386.tar.gz
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:

 # 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數據庫

 # aptitude install apache2 apache2-doc
# 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

插入下面代碼

<?php phpinfo(); ?>
相關文章
相關標籤/搜索