安装Lighttpd与PHP5(PHP-FPM)和MySQL支持Fedora 18

安装Lighttpd与PHP5(PHP-FPM)和MySQL支持Fedora 18 Lighttpd是一个安全,快速,符合标准的Web服务器设计 用于...

在Fedora 18上安装带有PHP5(PHP-FPM)和MySQL支持的Lighttpd

Lighttpd是一款安全,快速,符合标准的Web服务器,专为速度至关重要的环境而设计。 本教程将介绍如何在具有PHP5支持(通过PHP-FPM)和MySQL支持的Fedora 18服务器上安装Lighttpd。 PHP-FPM(FastCGI Process Manager)是一种替代的PHP FastCGI实现,具有对任何大小的网站(特别是繁忙的站点)有用的一些附加功能。 我在本教程中使用PHP-FPM,而不是Lighttpd的spawn-fcgi。

我不会保证这将为您工作!

1初步说明

在本教程中,我使用IP地址为192.168.0.100的hostname server1.example.com 。 这些设置可能会有所不同,因此您必须在适当的情况下更换它们。

2安装MySQL 5

首先我们像这样安装MySQL 5:

yum install mysql mysql-server

然后,我们为MySQL创建系统启动链接(以便每当系统启动时,MySQL自动启动)并启动MySQL服务器:

systemctl enable mysqld.service
systemctl start mysqld.service

为MySQL用户root创建密码(将yourrootsql密码替换为您要使用的密码):

mysql_secure_installation

[root @ server1〜]#mysql_secure_installation




注意:运行本脚本的所有部分是为所有MySQL推荐的
服务器生产使用! 请仔细阅读每一步!


为了登录MySQL来保护它,我们需要当前的
root用户的密码。 如果你刚刚安装了MySQL,
您还没有设置root密码,密码将为空,
所以你应该刚刚进入这里。

输入root的当前密码(输入无): < - ENTER
OK,成功使用密码,移动...

设置root密码确保没有人可以登录MySQL
root用户没有正确的授权。

设置root密码? [Y / n] < - ENTER
新密码: < - yourrootsql 密码
重新输入新密码: < - yourrootsqlpassword
密码更新成功!
重新载入特权表..
...成功!


默认情况下,MySQL安装有一个匿名用户,允许任何人
登录MySQL,而不必创建用户帐户
他们。 这仅适用于测试和进行安装
顺利一点 你应该删除它们,然后再进入
生产环境。

删除匿名用户? [Y / n] < - ENTER
...成功!

通常,root只能被允许从'localhost'连接。 这个
确保有人无法从网络的root密码猜测。

禁止root登录远程? [Y / n] < - ENTER
...成功!

默认情况下,MySQL附带一个名为'test'的数据库,任何人都可以
访问。 这也仅用于测试,应该删除
在进入生产环境之前。

删除测试数据库并访问它? [Y / n] < - ENTER
- 删除测试数据库...
...成功!
- 删除测试数据库的权限...
...成功!

重新加载权限表将确保所有更改到目前为止
将立即生效。

现在重新加载权限表? [Y / n] < - ENTER
...成功!

打扫干净...



全做完了! 如果您已经完成了上述所有步骤,您的MySQL
安装应该是安全的。

感谢使用MySQL!


[root @ server1〜]#

3安装Lighttpd

Lighttpd可以作为Fedora软件包使用,因此我们可以这样安装它:

yum install lighttpd

然后我们创建Lighttpd的系统启动链接(以便Lighttpd在系统引导时自动启动)并启动它:

systemctl enable lighttpd.service
systemctl restart lighttpd.service

现在直接浏览器到http://192.168.0.100 ,你应该看到Lighttpd占位符页面:

Lighttpd的默认文件根是Fedora上的/ var / www / lighttpd ,配置文件为/etc/lighttpd/lighttpd.conf

4安装PHP5

我们可以通过PHP-FPM使PHP5在Lighttpd中工作,我们安装如下:

yum install php-fpm lighttpd-fastcgi

PHP-FPM是一个守护进程,在端口9000上运行FastCGI服务器。

创建PHP-FPM的系统启动链接并启动它:

systemctl enable php-fpm.service
systemctl start php-fpm.service

5配置Lighttpd和PHP5

要在Lighttpd中启用PHP5,我们必须修改两个文件/etc/php.ini/etc/lighttpd/lighttpd.conf 。 首先我们打开/etc/php.ini并取消注释行cgi.fix_pathinfo = 1

vi /etc/php.ini

[...]
; cgi.fix_pathinfo provides *real* PATH_INFO/PATH_TRANSLATED support for CGI.  PHP's
; previous behaviour was to set PATH_TRANSLATED to SCRIPT_FILENAME, and to not grok
; what PATH_INFO is.  For more information on PATH_INFO, see the cgi specs.  Setting
; this to 1 will cause PHP CGI to fix its paths to conform to the spec.  A setting
; of zero causes PHP to behave as before.  Default is 1.  You should fix your scripts
; to use SCRIPT_FILENAME rather than PATH_TRANSLATED.
; http://www.php.net/manual/en/ini.core.php#ini.cgi.fix-pathinfo
cgi.fix_pathinfo=1
[...]

然后我们打开/etc/lighttpd/conf.d/fastcgi.conf并确保启用了“mod_fastcgi”

vi /etc/lighttpd/conf.d/fastcgi.conf

[...]
server.modules += ( "mod_fastcgi" )
[...]

然后,进一步下来的文件,有一个fastcgi.server节 - 留下它评论并添加您自己的fastcgi.server节,如下所示:

[...]
##
## PHP Example
## For PHP don't forget to set cgi.fix_pathinfo = 1 in the php.ini.
##
## The number of php processes you will get can be easily calculated:
##
## num-procs = max-procs * ( 1 + PHP_FCGI_CHILDREN )
##
## for the php-num-procs example it means you will get 17*5 = 85 php
## processes. you always should need this high number for your very
## busy sites. And if you have a lot of RAM. :)
##

fastcgi.server += ( ".php" =>
        ((
                "host" => "127.0.0.1",
                "port" => "9000",
                "broken-scriptfilename" => "enable"
        ))
)

#fastcgi.server = ( ".php" =>
#                   ( "php-local" =>
#                     (
#                       "socket" => socket_dir + "/php-fastcgi-1.socket",
#                       "bin-path" => server_root + "/cgi-bin/php5",
#                       "max-procs" => 1,
#                       "broken-scriptfilename" => "enable",
#                     )
#                   ),
#                   ( "php-tcp" =>
#                     (
#                       "host" => "127.0.0.1",
#                       "port" => 9999,
#                       "check-local" => "disable",
#                       "broken-scriptfilename" => "enable",
#                     )
#                   ),
#
#                   ( "php-num-procs" =>
#                     (
#                       "socket" => socket_dir + "/php-fastcgi-2.socket",
#                       "bin-path" => server_root + "/cgi-bin/php5",
#                       "bin-environment" => (
#                         "PHP_FCGI_CHILDREN" => "16",
#                         "PHP_FCGI_MAX_REQUESTS" => "10000",
#                       ),
#                       "max-procs" => 5,
#                       "broken-scriptfilename" => "enable",
#                     )
#                   ),
#                )
                ),
[...]

打开/etc/lighttpd/modules.conf ...

vi /etc/lighttpd/modules.conf

...并激活/etc/lighttpd/conf.d/fastcgi.conf文件:

[...]
##
## FastCGI (mod_fastcgi)
##
include "conf.d/fastcgi.conf"
[...]

然后我们重新启动Lighttpd:

systemctl restart lighttpd.service