Apache 虚拟主机之间访问权限控制(特权分离)

使用 Apache 架设虚拟主机的用户会遇到这样的问题,例如有两个虚拟主机分别是 www.hosta.comwww.hostb.com,对应的目录是 /home/hosta//home/hostb/ 需要限制 www.hosta.com 访问 /home/hostb/,同样也需要限制 www.hostb.com 访问 /home/hosta/。那么应该如何实现呢?

我的方法是使用指定的用户运行虚拟主机的进程,下面来说说具体的配置过程。

安装 apache2-mpm-itk
apache2-mpm-itk 虽然没有 apache2-mpm-perfork 的性能高,但是安全第一!

sudo apt-get install apache2-mpm-itk

修改配置文件指定用户和组

sudo vim /etc/apache2/sites-available/hosta
<VirtualHost *:80>
	... ...
	... ...
	<IfModule mpm_itk_module>
		AssignUserId username groupname
	</IfModule>
</VirtualHost>

设置目录属性

chown username:groupname /home/hosta/
chmod 700 /home/hosta/

通过这样的设置后,就不需要开启 PHP 的安全模式(safe_mode)了,因为安全模式会引起很多的问题。

同时也解决了 Web 和 FTP 的权限同步问题,一举多得。

Over!

用 SQL 语句修改 WordPress 文章和博客链接

修改文章中的链接

UPDATE wp_posts SET post_content = REPLACE(post_content, 'oldvalue', 'newvalue');

修改博客地址

UPDATE wp_options SET option_value = REPLACE(option_value, 'oldvalue', 'newvalue') WHERE option_name='siteurl';
UPDATE wp_options SET option_value = REPLACE(option_value, 'oldvalue', 'newvalue') WHERE option_name='home';

Over!