如何在Ubuntu 18.04上使用Apache安装Joomla

时间:2020-03-05 15:32:13  来源:igfitidea点击:

Joomla是为数十万个提供支持的最受欢迎的开源内容管理系统之一。
它是用PHP编写的,并包含大量功能,这些功能可以通过免费和高级的扩展程序和主题进行扩展。
使用Joomla,我们可以轻松建立自己的电子商务商店,个人,社交或者教程 。

在本教程中,我们将说明如何在Ubuntu 18.04上安装Joomla。
我们将使用LAMP堆栈,其中Apache作为Web服务器,SSL证书,最新的PHP 7.2和MySQL/MariaDB作为数据库服务器。

准备工作

在继续本教程之前,请确保满足以下准备工作:

  • 有一个域名指向服务器公用IP。我们将使用'example.com'。
  • 以具有sudo特权的用户身份登录。
  • 按照以下说明安装Apache。
  • 我们已经为域安装了SSL证书。我们可以按照以下说明安装免费的Let's Encrypt SSL证书。

创建一个MySQL数据库

Joomla可以将其数据(例如文章,类别,用户,扩展名和主题设置)存储在MySQL,PostgreSQL或者MS SQL数据库中。

我们将使用MySQL作为后端数据库。
如果Ubuntu服务器上未安装MySQL,则可以输入以下命令进行安装:

sudo apt-get updatesudo apt-get install mysql-server

通过键入以下内容登录到MySQL控制台:

sudo mysql

在MySQL Shell中,运行以下SQL语句以创建数据库:

CREATE DATABASE joomla CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;

接下来,创建一个新的MySQL用户,并在新数据库上授予该用户特权:

GRANT ALL ON joomla.* TO 'joomlauser'@'localhost' IDENTIFIED BY 'change-with-strong-password';

完成后,通过键入以下内容退出mysql控制台:

EXIT

安装PHP

Joomla完全支持PHP 7.2,这是Ubuntu 18.04中的默认PHP版本。

使用以下命令安装PHP所有必需的PHP扩展:

sudo apt updatesudo apt install php7.2 php7.2-cli php7.2-mysql php7.2-json php7.2-opcache php7.2-mbstring php7.2-intl php7.2-xml php7.2-gd  php7.2-zip php7.2-curl php7.2-xmlrpc php7.2-xmlrpc

通过使用'sed'编辑'php.ini'文件来设置推荐的PHP选项:

sudo sed -i "s/memory_limit = .*/memory_limit = 512M/" /etc/php/7.2/apache2/php.inisudo sed -i "s/upload_max_filesize = .*/upload_max_filesize = 256M/" /etc/php/7.2/apache2/php.inisudo sed -i "s/post_max_size = .*/post_max_size = 256M/" /etc/php/7.2/apache2/php.inisudo sed -i "s/output_buffering = .*/output_buffering = Off/" /etc/php/7.2/apache2/php.inisudo sed -i "s/max_execution_time = .*/max_execution_time = 300/" /etc/php/7.2/apache2/php.inisudo sed -i "s/;date.timezone.*/date.timezone = UTC/" /etc/php/7.2/apache2/php.ini

重新启动apache,以便加载新安装的PHP扩展:

sudo systemctl restart apache2

下载Joomla

在撰写本文时,Joomla的最新版本是3.9.4.

在下载Joomla存档之前,首先创建一个目录,该目录将保存Joomla文件并导航至该目录:

sudo mkdir -p /var/www/example.comcd /var/www/example.com

接下来,使用以下wget命令从Joomla下载页面下载Joomla的当前版本:

sudo wget https://downloads.joomla.org/cms/joomla3/3-9-4/Joomla_3-9-4-Stable-Full_Package.zip

下载完成后,解压缩存档并将文件移到域的文档根目录中:

sudo unzip Joomla_3-9-4-Stable-Full_Package.zip

使用chown命令将目录的所有者更改为“ www-data”,以便网络服务器可以完全访问该的文件和目录:

sudo chown -R www-data: /var/www/example.com

配置Apache

到目前为止,如果没有检查本教程的准备工作,则应该已经在系统上安装了带有SSL证书的Apache。

下一步是编辑Apache虚拟主机配置:

sudo nano /etc/apache2/sites-available/example.com.conf

以下Apache配置[将HTTP重定向到HTTPS],将www重定向到我们域的非www版本,并启用HTTP2.
不要忘记用Joomla域替换“ example.com”,并为SSL证书文件设置正确的路径。

/etc/apache2/sites-available/example.com.conf

<VirtualHost *:80>
  ServerName example.com
  ServerAlias www.example.com
  Redirect permanent/https://example.com/
</VirtualHost>
<VirtualHost *:443>
  ServerName example.com
  ServerAlias www.example.com
  Protocols h2 http/1.1
  <If "%{HTTP_HOST} == 'www.example.com'">
    Redirect permanent/https://example.com/
  </If>
  DirectoryIndex index.html index.php
  DocumentRoot /var/www/example.com
  ErrorLog ${APACHE_LOG_DIR}/example.com-error.log
  CustomLog ${APACHE_LOG_DIR}/example.com-access.log combined
  SSLEngine On
  SSLCertificateFile /etc/letsencrypt/live/example.com/cert.pem
  SSLCertificateKeyFile /etc/letsencrypt/live/example.com/privkey.pem
  SSLCertificateChainFile /etc/letsencrypt/live/example.com/chain.pem
  <Directory /var/www/example.com>
      Options FollowSymLinks
      AllowOverride All
      Require all granted
  </Directory>
</VirtualHost>

如果未启用,请为域启用虚拟主机。
此命令将创建从'sites-available'到'sites-enabled'目录的符号链接:

sudo a2ensite example.com

为了使新配置生效,请输入以下命令重新启动Apache服务:

sudo systemctl restart apache2

完成Joomla安装

现在已经下载了Joomla并完成了服务器配置,是时候使用Web界面完成Joomla安装了。

打开浏览器,输入域,然后会出现类似以下的屏幕:

选择我们要使用的语言并填写以下信息:

  • 名称-新Joomla的名称。
  • 描述-的描述。这是一个后备元描述,将在每个页面上使用,而无需特定的描述。
  • 管理员电子邮件地址-管理用户电子邮件地址。使用有效的电子邮件。如果我们忘记了密码,则会在此电子邮件地址上看到一个链接,用于更改密码。
  • 管理员用户名-管理用户的用户名。为了安全起见,请将用户名设置为“ admin”以外的名称。
  • 管理员密码-管理用户密码。确保使用强密码。在“确认管理员密码”字段中输入相同的密码。
  • 离线-保留默认的“否”。如果选择“是”,则安装完成后,将显示“站点已脱机”。

完成后,单击“下一步”按钮。

在下一个屏幕上,安装向导将要求我们输入数据库连接详细信息。

  • 数据库类型-保留默认的“ MySQLi”。
  • 主机名-保留默认的“ localhost”。如果是本教程,则数据库位于同一服务器上。
  • 用户名,密码,数据库名称-输入我们先前创建的MySQL用户和数据库详细信息。
  • 表前缀-保留自动生成的前缀。
  • 旧数据库进程-保留默认的“备份”选项。

单击“下一步”按钮后,我们将被重定向到“概述”页面:

其中我们可以选择安装示例数据并验证是否通过了所有检查。
单击“安装”按钮,安装完成后,我们将进入一个页面,通知我们已经安装了Joomla。

如果要安装其他语言,请单击“其他步骤:安装语言”按钮。

出于安全原因,我们需要删除安装目录。
为此,请返回到终端并运行以下“ rm”命令:

sudo rm -rf /var/www/example.com/installation

要访问Joomla后端,请点击“管理员”按钮。
从这里开始,我们可以通过安装新主题和插件来自定义Joomla安装。