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(); ?>
相关文章
相关标签/搜索