配置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 -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
你可以用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