配置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
2.重启mysql
sudo /etc/init.d/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个文件关系是上面那个是下面那个的符号链接,还是一样的。随便添加默认文档就可以了。
更改服务器地址(在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
这里有一个地方要注意 默认:是只允许本地访问数据库,其它机子不能直接访问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(因为我已经配置好环境,所以忘记了phpmyadmin中默认配置怎么写的。。反正就是在第三行和第四行的两句.如果我没记错的话 应该是下面这样)不知道为什么我的不用改。。。
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