Ubuntu中Lamp的一些配置说明

来源:互联网 发布:东南大学网络自助 编辑:程序博客网 时间:2024/04/30 14:15

配置Apache文件路径

1>apache 的配置文件路径/etc/apache2/apache2.conf

2>apache网站字符编码配置路径 /etc/apache2/conf.d/charset

3>php.ini 路径/etc/php5/apache2/php.ini

4>mysql配置文件 路径/etc/mysql/my.cnf一般不要使用,尤其是新手

5>phpmyadmin配置文件路径/etc/phpmyadmin/apache.conf

6>默认网站根目录/var/www


1重启apache

sudo /etc/init.d/apache2 restart或
sudo service apache2 restart

2.重启mysql

sudo /etc/init.d/mysql restart或

sudo service mysql restart 

 

修改默认主页
修改默认主页:一般在 sudo gedit/etc/apache2/apache2.conf里面
找到 DirectoryIndex 在后面添加如index.php等
不过随apache2的版本不同 文件的放置位置不一样我在ubuntu8.10下面配置文件就不一样。
别怕 输入这个命令 grep -iR DirectoryIndex/etc/apache2
查看 DirectoryIndex在apache2那个文件里面。
我的就是 这样的
/etc/apache2/mods-enabled/dir.conf:DirectoryIndex index.html index.cgi index.pl index.php index.xhtmlindex.htm
/etc/apache2/mods-available/dir.conf:DirectoryIndex index.html index.cgi index.pl index.php index.xhtmlindex.htm

为什么所2个文件都有呢。我也不清楚 不过我在群里 有高手说了其实2个文件关系是上面那个是下面那个的符号链接,还是一样的。随便添加默认文档就可以了。

 

更改服务器地址(在apache.conf改为本机)

ServerName127.0.0.1

 

修改apache的根目录DocumentRoot:

sudovim/etc/apache2/sites-enabled/000-default

将其中的 DocumentRoot /var/www改成您想要的目录比如 DocumentRoot /var/www/htdocs/以上Apache2就基本配置完成了。重启Apache2服务即可。


sudo vim /etc/apache2/ports.conf#修改端口号,修改 Listen 80

再修改site的配置文件

/etc/apache2/sites-available/default

80是端口号

<VirtualHost*:80>

sudo a2enmod rewrite #开启apache的rewrite功能

Apache字符集

打开apache配置文件:vim/etc/apache2/apache2.conf,在最后面加上:AddDefaultCharsetUTF-8,如果还是乱码的,再将UTF-8改用gb2312。

设置Apache支持.htm .html.php
sudo vim/etc/apache2/apache2.conf
在打开的文件中加上
AddType application/x-httpd-php .php.htm .html 即可。

Apache模块

sudo a2enmod #启用模块

sudo a2dismod #禁用模块

 

 

配置PHP5

来获取你的phpcli加载的php.ini路径

php --ini或 php -i | grepphp.ini

来 获取你的php cli加载的php.ini路径(LoadedConfiguration File,比如 /etc/php5/cli/php.ini 而非/etc/php5/conf.d/php.ini)。但此文件并不一定是apachephp5模块加载的php.ini文件,如果要获得apache php5模块加载的php.ini,请参见测试_phpinfo()

 

以下是更改默认时区

;date.timezone=

去掉前面的分号 后面加个PRC。表示中华人民共和国(就是GMT+8时区)

date.timezone=PRC

 

 

Mysql配置

MySQL大部分命令是以 ; 结尾 ,

Mysql字符集修改
[client]
default-character-set=utf8

[mysqld]

character-set-server=utf8
collation-server=utf8_general_ci


进入mysql

mysql -h [服务器地址] -u[用户名〕-p

 

创建一个受限用户这个用户(testuser)只有一个数据库(这里是test库)的访问写入权限,这个数据库创建与删除表的权限,并且只能在本地登入,密码为userpasswd

grant select,insert,update,delete,create,alter on test.* to 'test'@'localhost' IDENTIFIED BY 'userpasswd';

 

配置文件(新手、无特殊要求勿动)

sudo vim /etc/mysql/my.cnf

这里有一个地方要注意默认:是只允许本地访问数据库,其它机子不能直接访问MySQL

bind-address 127.0.0.1

解除限制只能本地访问mysql,如果需要其他机器访问,应使用如下语句,把这“bind-address127.0.0.1”句话用#注释掉

 


phpmyadmin安装和配置

sudo apt-get installphpmyadmin

sudo ln -s /usr/share/phpmyadmin/var/www/phpmyadmin

然后把下面两句的路径改为/var/www/phpmyadmin(因为我已经配置好环境,所以忘记了phpmyadmin中默认配置怎么写的。。反正就是在第三行和第四行的两句.如果我没记错的话应该是下面这样)不知道为什么我的不用改。。。

Alias /phpmyadmin/usr/share/phpmyadmin

<Directory/usr/share/phpmyadmin>

改为:

Alias /phpmyadmin/var/www/phpmyadmin

<Directory/var/www/phpmyadmin>

 

 

安全性设置

隐藏服务器信息

vim/etc/apache2/apache2.conf

ServerTokensProd


指定apache2的运行账户

以root来运行是很危险的,用下面的方法更改,这里是都改为www-data

vim /etc/apache2/envvarsexport APACHE_RUN_USER=www-dataexport APACHE_RUN_GROUP=www-data

 

启用.htaccess

这个对pbpbb3这样有附带.htaccess的程序有利,不过其它场合有可能引发问题。方法:在网站主机配置下加入AllowOverrideAuthConfi例子:

vim/etc/apache2/sites_available/default

<Directory/var/www/>

...

AllowOverrideAuthConfig

...

</Directory>


其他

PDO的安装

pecl search pdo
sudo pecl install pdo
sudo pecl install pdo_mysql

最后编辑php.ini

sudo gedit /etc/php5/apache2/php.ini

再最后面添加两行:

extension = pdo.so

extension =pdo_mysql.so

 

排错

无法解析php文件,浏览器提示下载所要打开的php文件

sudo apt-get install libapache2-mod-php5sudo a2enmod php5

如果显示为:

This module does notexist!

 

那就要彻底删除libapache2-mod-php5,然后重新安装它

sudo apt-get remove --purge libapache2-mod-php5sudo apt-get install libapache2-mod-php5

重启apache2

sudo /etc/init.d/apache2 restart

清除浏览器缓存,然后输入http:localhost

 

屏蔽迅雷

迅雷的user-agent是

Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; )Mozilla/5.0  (compatible; MSIE 6.0; Windows NT 5.0)Mozilla/4.0 (compatible; MSIE  6.0; Windows NT 5.0; .NET CLR 3.5.20706)Mozilla/4.0 (compatible;  MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322; .NET CLR 2.0.50727)

通过.htaccess文件屏蔽迅雷的下载/盗链功能:

RewriteEngine On#AntiThunderRewriteCond  %{HTTP_USER_AGENT} ^Mozilla/4\.0\ \(compatible;\ MSIE\ 6\.0;\ Windows\ NT\5\.0\)$  [NC,OR]RewriteCond  %{HTTP_USER_AGENT} ^Mozilla/5\.0\ \(compatible;\ MSIE\ 6\.0;\ Windows\ NT\5\.0\)$ [NC,OR]RewriteCond  %{HTTP_USER_AGENT} ^Mozilla/4\.0\ \(compatible;\ MSIE\ 6\.0;\ Windows\ NT\ 5\.1;\\)$  [NC,OR]RewriteCond  %{HTTP_USER_AGENT} ^Mozilla/4\.0\ \(compatible;\ MSIE\ 6\.0;\ Windows\ NT\ 5\.0;\\.NET\ CLR\ 3\.5\.20706\)$ [NC,OR]RewriteCond  %{HTTP_USER_AGENT} ^Mozilla/4\.0\ \(compatible;\ MSIE\ 6\.0;\ Windows\ NT\ 5\.1;\SV1;\ \.NET\ CLR\ 1\.1\.4322;\ \.NET\ CLR\2\.0\.50727\)$  [NC]RewriteRule ^.*\.(gif|jpg|bmp|zip|rar|exe|mp3|swf)$    [NC,F]

你可以用Firefox的扩展user-agentswitcher来测试效果。

如果你的资料地址已经被迅雷索引,请修改资源的路径地址。

如果用户手动用UltraEdit改写迅雷的user-agent,亦或者本机装虚拟机,虚拟机挂代理,迅雷挂虚拟机中的代理,这种屏蔽方法就失效了。

 

附录

apache2配置文件与子目录一览表

/etc/apache2/apache2.conf全局配置

/etc/apache2/envvars环境变量

/etc/apache2/ports.confhttpd服务端口信息

/etc/apache2/conf.d/一般性配置文件存放地

/etc/apache2/mods-available/已安装的模块

/etc/apache2/mods-enabled/已经启用的模块

/etc/apache2/sites-available/可用站点信息

/etc/apache2/sites-enabled/已经启用的站点信息,当中的文件是到/etc/apache2/sites-available/ 文件的软连接。

/etc/apache2/httpd.conf