本指南提供了一步一步的说明上一个CentOS6系统中安装一个全功能的LAMP堆栈。
在本指南中,你将被指示在设置Apache,MySQL和PHP。如果你不觉得你需要MySQL或PHP,请不要感到有义务安装它们。
在本指南中,我们将提供特定的配置设置若干建议值。一些值将被默认设置。这些设置显示在引导作为参考,在您更改这些设置,以满足您的需求,然后需要改变他们回来的事件。
设置主机名
开始之前安装和配置本指南中描述的组件,请确保您已经按照我们的设置主机名的说明。发出以下命令,以确保它是否设置正确:
|
|
第一个命令应该表现出你的短主机名,第二个应该表现出你的完全限定域名(FQDN)。
安装和配置Apache Web服务器
Apache Web服务器是一个非常受欢迎的网页服务的选择。虽然许多替代品都出现在过去的几年里,依然阿帕奇,我们建议对大多数采用了功能强大的选择。
要安装Apache Web服务器的当前版本(在2.x系列),请使用以下命令:
|
|
针对Apache的配置保存在httpd.conf文件,它位于:/etc/httpd/conf/httpd.conf中。我们建议您让此文件的备份到你的home目录,就像这样:
|
|
默认情况下,在扩展的.conf在/etc/httpd/conf.d/结尾的所有文件都被视为Apache的配置文件,我们建议将您的非标准配置选项在这些目录中的文件。无论您选择如何组织你的配置文件,使已知的工作状态进行定期备份,强烈建议。
编辑主Apache配置文件来调整资源使用设置。如下图所示的设置是一个很好的起点的Linode1GB。
- /etc/httpd/conf/httpd.conf
-
123456789101112345678910111234567891011KeepAlive Off...<IfModule prefork.c>StartServers 2MinSpareServers 6MaxSpareServers 12MaxClients 80MaxRequestsPerChild 3000</IfModule>
现在,我们将配置虚拟主机,这样我们就可以承载多个域(或子域)的服务器。这些网站可以由不同的用户来控制,或者由单个用户,根据自己的喜好。
在我们开始之前,我们建议您将虚拟主机的所有配置成一个文件名为vhost.conf位于该/etc/httpd/conf.d/目录。打开文本编辑器这个文件,我们将开始通过设置虚拟主机。
配置基于名字的虚拟主机
有不同的方法来设置虚拟主机,但是我们建议下面的方法。默认情况下,Apache的侦听提供的所有IP地址。
现在,我们将创建我们需要主机与此服务器的每个站点的虚拟主机条目。这里有两个例子,在网站“example.com”和“example.org”。
- /etc/httpd/conf.d/vhost.conf
-
123456789101112131415161718191234567891011121314151617181912345678910111213141516171819NameVirtualHost *:80<VirtualHost *:80>ServerAdmin webmaster@example.comServerName example.comServerAlias www.example.comDocumentRoot /srv/www/example.com/public_html/ErrorLog /srv/www/example.com/logs/error.logCustomLog /srv/www/example.com/logs/access.log combined</VirtualHost><VirtualHost *:80>ServerAdmin webmaster@example.orgServerName example.orgServerAlias www.example.orgDocumentRoot /srv/www/example.org/public_html/ErrorLog /srv/www/example.org/logs/error.logCustomLog /srv/www/example.org/logs/access.log combined</VirtualHost>
关于这个例子配置说明:
所有为您承载网站的文件将位于存在下的/ srv/ WWW您可以将这些目录象征性地链接到其他地方,如果你需要他们在其他地方存在的目录。
和错误日志条目的CustomLog建议用于更细粒度的记录,但不是必需的。如果它们被定义(如上图所示),日志目录必须在重新启动Apache之前创建。
之前,你可以使用上面的配置,你需要创建指定的目录。对于上面的配置,你可以用下面的命令:
|
|
当你设置你的虚拟主机,发出以下命令来运行Apache的第一次:
|
|
假设你已经配置了DNS为您的域名指向您的Linode的IP地址,虚拟主机为您的域名,现在应该工作。请记住,你可以在Apache你需要创建尽可能多的虚拟主机。
如果你想在默认情况下运行Apache在系统启动时,这是一个典型的设置,执行以下命令:
|
|
使用chkconfig命令根据需要设置运行级别。
任何时候你改变你的vhost.conf文件的选项,或任何其他Apache配置文件,记得要重新加载使用下面的命令配置:
|
|
安装和配置MySQL数据库服务器
MySQL是一个关系数据库管理系统(RDBMS),是一种流行的成分在现代的Web开发工具链。它是用来存储数据的许多流行的应用程序,包括Wordpress和Drupal的。
安装MySQL
第一步是安装MySQL的服务器包,它是由以下命令完成的:
|
|
在CentOS 6的这种提供的MySQL版本,52年5月1日。在可以使用MySQL需要进行一些配置。
如果你想在默认情况下运行MySQL在系统启动时,这是一个典型的设置,执行以下命令:
|
|
Now you can start the MySQL daemon (mysqld
) with the following command (as root):
|
|
此时,MySQL应该准备好配置和运行。虽然你不应该需要更改配置文件,注意,它位于/etc/my.cnf中以供将来参考。默认值应该是罚款一的Linode1GB,但如果你决定调整他们,你应该首先制作备份副本:
|
|
安装MySQL后,建议您运行mysql_secure_installation,一个计划,帮助安全的MySQL。当运行mysql_secure_installation,你将看到的机会改变MySQL的root密码,删除匿名用户帐户,禁止本地主机以外的root用户登录,并删除测试数据库。我们建议您回答yes这些选项。如果系统提示您重新载入权限表,选择YES。运行以下命令来执行该程序:
|
|
Next, we’ll create a database and grant your users permissions to use databases. First, log in to MySQL:
|
|
输入MySQL的root密码,你会看到一个提示,你可以发出SQL语句与数据库进行交互。
要创建一个数据库,并授予其用户权限,发出以下命令。注意,分号(;)的线的端部是用于结束命令是至关重要的。你的命令应该是这样的:
|
|
在上面的例子中,棒棒糖是数据库的名称,工头是用户名,和5t1ck密码。需要注意的是数据库的用户名和密码仅用于通过连接到数据库脚本,并且该数据库的用户帐户名称不必(或许不应)表示系统上的实际用户帐户。
随着中完成你已经成功地配置MySQL和你现在可以在你的用户通过这些数据库凭据。要退出MySQL数据库管理工具发出以下命令:
|
|
与Apache和MySQL安装,您现在就可以进入到安装PHP,为您的网页脚本支持。
安装和配置PHP
PHP能够用自己的脚本和流行的Web开发框架生产动态和交互式网页。此外,很多流行的Web应用程序,如WordPress的是用PHP写的。如果你希望能够开发使用PHP你的网站,你必须先安装它。
CentOS的包括包从终端上安装PHP。发出以下命令:
|
|
一旦安装PHP5我们需要调整位于/etc/php.ini中,以使更多的描述性错误,日志记录和性能更好的配置文件。这些修改提供了一个很好的起点,如果你不熟悉PHP配置。
确保下面的值设置,以及相关的线是未加注释(注释行用分号(开始)):
- /etc/php.ini
-
123456781234567812345678<span class="py">error_reporting</span> <span class="p">=</span> <span class="s">E_COMPILE_ERROR|E_RECOVERABLE_ERROR|E_ERROR|E_CORE_ERROR</span><span class="py">display_errors</span> <span class="p">=</span> <span class="s">Off </span><span class="py">log_errors</span> <span class="p">=</span> <span class="s">On </span><span class="py">error_log</span> <span class="p">=</span> <span class="s">/var/log/php/error.log</span><span class="py">max_execution_time</span> <span class="p">=</span> <span class="s">30 </span><span class="py">memory_limit</span> <span class="p">=</span> <span class="s">128M</span><span class="py">register_globals</span> <span class="p">=</span> <span class="s">Off</span><span class="py">max_input_time</span> <span class="p">=</span> <span class="s">30</span>
You will need to create the log directory for PHP and give the Apache user ownership:
|
|
If you need support for MySQL in PHP, then you must install the php5-mysql package with the following command:
|
|
After making changes to PHP, restart Apache by issuing the following command:
|
|