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
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