Ubuntu中Lamp的一些配置

时间:2023-02-07 12:50:00

配置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.xhtml index.htm
/etc/apache2/mods-available/dir.conf: DirectoryIndex index.html index.cgi index.pl index.php index.xhtml index.htm

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

 

修改输出字符集,在配置文件中加上

AddDefaultCharset utf-8


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

ServerName 127.0.0.1 

 

修改apache的根目录DocumentRoot:

sudo vim/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模块

sudo a2enmod #启用模块

sudo a2dismod #禁用模块

 

 

配置PHP5

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

php --ini或 php -i | grep php.ini

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

 

以下是更改默认时区

;date.timezone=

去掉前面的分号 后面加个PRC 。表示*(就是GMT+8时区)

date.timezone= PRC 

 

 

Mysql配置

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

 

进入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
[client]
default-character-set=utf8

[mysqld]

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


 

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

bind-address 127.0.0.1

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

 


phpmyadmin安装和配置

sudo apt-get install phpmyadmin

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

然后把下面两句的路径改为/var/www/phpmyadmin

shell>cp config.sample.inc.php config.inc.php

将auth_type = "http"

Alias /phpmyadmin /usr/share/phpmyadmin

<Directory /usr/share/phpmyadmin>

改为:

Alias /phpmyadmin /var/www/phpmyadmin

<Directory /var/www/phpmyadmin>

 

 

安全性设置

隐藏服务器信息

vim /etc/apache2/apache2.conf

ServerTokens Prod 


指定apache2的运行账户

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

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

 

启用.htaccess

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

vim /etc/apache2/sites_available/default

<Directory /var/www/> 

... 

AllowOverride AuthConfig

... 

</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 not exist!

 

那就要彻底删除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#Anti ThunderRewriteCond  %{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-agent switcher来测试效果。

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

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

 

附录

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

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

/etc/apache2/envvars 环境变量

/etc/apache2/ports.conf httpd服务端口信息

/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