介绍
Linux服务器是开发和提供内容的极其灵活的平台。没有一种正确的方式来服务应用程序,但是有一些程序或应用程序集可以一起工作。如果安装了大量面向Web的软件,您可能会注意到一般安装和配置过程遵循相同的路径。 一般来说,这些应用程序由数据库管理系统支持,例如MySQL / MariaDB,PostgreSQL,MongoDB等。实际的Web内容通过Web服务器访问,如Apache或Nginx。动态内容通过服务器端编程语言(如PHP,Python,Ruby等)进行处理。这是我们所谓的“应用程序栈”的基础。 最传统的应用程序栈是LAMP。这是Linux的操作系统,Apache作为Web服务器,MySQL的数据库和PHP处理信息。其他组件可以根据您的要求进行替换。开源软件的一个好处是它是灵活的和自适应的。 使用这些Web安装的一种流行的应用程序是论坛软件。大多数论坛要求您经历相同的基本过程,包括安装Web服务器,数据库系统和编程语言(包括允许这些工具进行通信的库和模块)。接下来,您需要安装实际的软件,然后配置所有的部分一起工作。 一般的程序是一样的大多数类型的论坛软件。 在本文中,我们将使用MyBB
在Ubuntu 12.04论坛软件演示相应的步骤。许多其他论坛(简单机器,香草,phpBB,PunBB等)将使用非常相似的过程,虽然每个之间会有一些变化。
第一步 - 安装
在本文中,我们将使用Ubuntu 12.04Droplet。 你需要做的第一件事,当试图让这个软件离地面是安装组件,将做重的提升。在我们的例子中,传统的LAMP将为我们服务。 我们将首先安装每个组件,并在下一步中配置它们。安装Apache
首先,更新你的包和安装Apache,这将是我们的 Web服务器 。这个软件在用户访问您的网站时提供网页。互联网上的每个网站都由网络浏览器提供服务。sudo apt-get update
sudo apt-get install apache2
安装MySQL
下一步,我们将安装MySQL,这将是我们的 数据库管理系统 。数据库管理系统负责以有组织的方式存储信息。它可以用于排序,搜索,更新和格式化大多数对网站(用户,统计,页面等)有用的数据。 在实际的数据库管理软件之上,我们还将安装一些库和模块,这将允许我们的其他组件与它轻松地进行通信。在安装过程中,系统将要求您选择并确认数据库管理员密码。这可以是任何你想要的:sudo apt-get install mysql-server libapache2-mod-auth-mysql php5-mysql
安装PHP
我们需要安装的唯一剩余的组件是PHP解释器及其关联的库。 PHP就是我们所说的 服务器端脚本语言 。 基本上,这意味着它是一种在服务器上执行代码的编程语言。这允许您基于用户请求和存储在数据库中的信息生成动态内容。编程语言可以作为连接其他部分的粘合剂:sudo apt-get install php5 libapache2-mod-php5 php5-mcrypt
第二步 - 配置堆叠
现在我们已经安装了我们的web的所有组件,我们需要做一些快速配置来保护和初始化我们的环境,并确保一切都配置为一起工作。无论何时设置面向Web的服务,都应执行这些步骤,因为默认配置并不总是理想的。MySQL配置
首先,我们将初始化MySQL环境。我们可以通过键入以下内容来初始化数据库环境:sudo mysql_install_db
之后,我们可以通过颠倒一些不安全的设置来保护我们的安装,但是默认允许进行简单的测试。通过键入以下内容运行交互式脚本:
sudo mysql_secure_installation
这将问你几个问题。首先,它将提示您输入在MySQL安装期间设置的数据库管理员密码。然后,对每个问题回答“是”(除了密码更改问题,如果您对您的选择感到满意)。
Apache配置
接下来,我们需要在Apache配置目录中配置一个文件,将PHP文件优先于普通HTML页面。这意味着如果在服务一个模糊请求之间有选择,服务器将选择PHP页面。这通常是您希望Web服务器与PHP和数据库一起使用时的工作方式。 使用首选编辑器编辑此文件。我们将使用nano
这里:
sudo nano /etc/apache2/mods-enabled/dir.conf
在这个文件中,有一个名为指令
DirectoryIndex
其中列出了首选的文件名时,目录由web浏览器请求送达。 我们需要添加
index.php
到列表的开头。编辑文件,使其与此匹配:
<IfModule mod_dir.c> DirectoryIndex index.php index.html index.cgi index.pl index.php index.xhtml index.htm </IfModule>实施此更改后,您需要重新启动Web服务器以使此更改生效:
sudo service apache2 restart
PHP配置
对于我们的目的,默认的PHP配置将正常工作。但是,在其他情况下,您可能需要更改其配置文件中的一些值以启用额外的功能,锁定不需要的资源等。 PHP的配置文件位于/etc/php5
。 你可能会是最关心的文件是
/etc/php5/apache2/php.ini
。这将配置PHP与Apache交互时的行为:
sudo nano /etc/php5/apache2/php.ini
正如你可以看到,文件是令人难以置信的长。这部分是因为有这么多配置选项,部分是因为文件是非常好的评论。 有时,可以通过更改此文件中的某些值来优化应用程序。例如,如果您正在进行一些强烈的计算,则可能需要增加PHP进程的最大内存使用量:
memory_limit = 128M
默认应该是罚款为我们的目的,虽然。
第三步 - 创建应用程序数据库
我们已经安装和配置了我们的软件以一起工作。 MySQL是启动和运行,但目前还没有一个数据库,我们可以用于我们的应用程序。我们将创建一个,以便我们的论坛软件可以管理其数据。 首先,登录MySQL。这将提示您在安装期间选择用于管理MySQL的相同密码:mysql -u root -p
您将登录到MySQL界面,您的命令提示符将更改。我们可以从此提示符向数据库软件提供SQL命令。 SQL是MySQL实现的查询语言。它用于创建,修改和与数据库软件和数据本身交互。 为了区分来自我们论坛的信息,我们需要创建一个数据库,这是我们可用的组织的基本单位。我们将在相关软件之后命名它,以防我们有一天在同一台机器上托管多个数据库。这将让我们很容易地识别每个包含。 在我们的示例中,我们正在安装“MyBB”软件,因此我们将相应命名。所有SQL命令应以分号(;)结尾:
CREATE DATABASE mybb;我们还应该创建一个特定的用户来使用这个数据库。这是一个好的做法,因为它允许我们控制软件在细粒度级别上可以访问的内容。在这里,我们将创建一个用户并在一行中为其分配一个密码:
CREATE USER 'mybbuser'@'localhost' IDENTIFIED BY 'password';我们有一个数据库和一个用户,但他们还没有关联。我们需要授予用户对数据库的访问权限:
GRANT ALL PRIVILEGES ON mybb.* TO 'mybbuser'@'localhost' IDENTIFIED BY 'password';我们可以通过键入以下内容来实现我们的更改并退出MySQL界面:
FLUSH PRIVILEGES;
exit
第四步 - 下载并配置论坛软件
我们现在已经为我们的应用程序配置了Web和创建了一个数据库。所有的初步步骤都完成了,我们可以下载并开始配置我们的实际应用程序。 我们将在我们的主文件夹中的临时目录中下载初始文件。创建它,并改为现在的目录:mkdir ~/temp
cd ~/temp
这是一个文件夹,我们将下载和配置我们的软件,然后将其移动到web根目录,Apache可以提供这些文件。您将必须从其各自的网站获取项目的文件。在我们的案例中,我们可以直接从网站获取最新版本:
wget -O mybb.zip http://www.mybb.com/download/latest
我们需要解压的文件
unzip
,这是不是我们的系统上安装的呢。我们可以用这个命令修复:
sudo apt-get install unzip
现在我们可以从zip存档中提取软件:
unzip mybb.zip
这将创建两个目录名为
Documentation
和
Upload
。 该
Upload
目录包含实际的论坛文件,而
Documentation
的目录,勿庸置疑,包含的文档。您可以将文档目录移动到任何您想要的位置。至于其他目录,我们需要将其移动到web根目录:
sudo mv ~/temp/Upload /var/www/forum
现在,我们有文档根目录中的文件,Apache可以找到它们并提供它们。但是,应用程序不会随其配置文件到来。它附带了我们可以复制的示例配置文件。更改到论坛目录,我们刚刚将我们的文件移入:
cd /var/www/forum
将默认配置文件移动到位置:
sudo mv inc/config.default.php inc/config.php
现在我们只需要调整几个文件的权限,以便可以正确配置论坛软件:
sudo chmod a+rw inc/settings.php
sudo chmod a+rw inc/config.php
sudo chmod a+rw cache
sudo chmod a+rw uploads
sudo chmod a+rw uploads/avatars
通过这些更改,MyBB软件应该能够访问配置文件并上传目录并根据需要进行更改。 大多数时候,在这一点上,其余的软件是通过网络浏览器配置的。 MyBB在这方面没有什么不同。打开Web浏览器,浏览到您的IP地址或域名,随后
/forum/install/
:
http://your_domain/forum/install/您应该看到基于Web的配置工具的第一页。这将指导您完成配置过程的最后阶段。您将选择您的首选项并告诉MyBB有关您的设置的信息: 点击“下一步”按钮,浏览前几页。需求检查页面都应为绿色: 在下一页上,您必须输入您配置的数据库信息。如果你是跟着,你的页面应该看起来像这样: 在“板配置”页面上,填写适当的方式访问您的论坛。您可能需要将IP地址更改为域名,并填写一些其他信息: 填写管理用户以完成该过程。 完成配置后,您需要从Web根目录中删除安装文件夹。这可防止未经授权的用户重新配置软件:
sudo rm -r /var/www/forum/install
您可以访问该网站:
http://your_domain/forum
结论
虽然本文使用MyBB作为示例,这个一般的过程对于大多数论坛软件是相同的,并且也适用于其他类型的面向Web的应用程序。 您应该检查应用程序的特定安装步骤,但安装和配置LAMP,为应用程序创建数据库,然后将文件移动到Web根目录的过程将与大量此类型的安装相关。
作者:Justin Ellingwood