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