标签 服务 下的文章

Thumb

Debian下安装Apache为系统服务

最近在Debian下安装AMP(Apache+MySQL+PHP)的环境,由于本人比较中意传统的linux安装方式,加之Apache本身的缘故,就遇到了Apache无法安装成系统服务,也无法自动启动的问题。

谷歌了许久,却找不到Debian下相关的方法,只有一些其他linux的安装方法,可是由于他们的目录结构不同,又无法直接拿来使用。因为Debian下rcX.d(X表示0-6的数字)目录是存放在/etc目录中的,而不像其他的是存在/etc/init.d目录下的。我们只需要按照对应的目录来操作即可。网上找到的命令如下:

cp /usr/local/apache2/bin/apachctl /etc/init.d/apache2
ln /etc/init.d/apache2 /etc/rc3.d/S18apache2

然而,执行上述上面的命令后,虽然可以使用 service apache start/stop/restart 来启动/关闭/重启Apache服务,但是服务器重启后,Apache仍然是无法自动启动的。后来经本人测试后发现,只要同时在其他的rcX.d目录中创建连接,问题即可解决。命令如下:

cp /usr/local/apache2/bin/apachctl /etc/init.d/apache2
ln /etc/init.d/apache2 /etc/rc2.d/S18apache2
ln /etc/init.d/apache2 /etc/rc3.d/S18apache2
ln /etc/init.d/apache2 /etc/rc4.d/S18apache2
ln /etc/init.d/apache2 /etc/rc5.d/S18apache2
ln /etc/init.d/apache2 /etc/rc0.d/K18apache2
ln /etc/init.d/apache2 /etc/rc1.d/K18apache2
ln /etc/init.d/apache2 /etc/rc6.d/K18apache2

需要注意的是:rc0.d、rc1.d、rc6.d三个目录中的是字母K开头的,其他的则是S开头的。至于数字18则是Apache的启动顺序,可以自行调整。

至此,问题得以圆满解决。然而对于用apt-get方式安装的Apache的朋友就没有这个烦恼了,因为它已经自动为你做了这些工作。