Ubuntu LAMP 堆栈出现问题

Ubuntu LAMP 堆栈出现问题

我已经使用命令行安装了 Ubuntu 16.04 和所有必需的软件包(apache、mysql、php)。我已经安装了 Drupal(经过一些调整后安装成功)。但是安装后,每当我单击链接时,都会弹出“未找到”页面。只有 CMS 主页可用。另一个 CMS 也遇到了同样的问题。顺便说一句,我将 CMS 目录放在 /var/www/html/ 目录 (/var/www/html/drupalsite/) 内。我尝试了各种配置文件。有没有基本的教程?有人说在另一个堆栈中我不会遇到这么多问题。

答案1

配置 MySQL 用户和数据库:

mysql -u root -p
CREATE DATABASE drupal;
CREATE USER drupaluser@localhost IDENTIFIED BY 'password';
GRANT SELECT,INSERT,UPDATE,DELETE,CREATE,DROP,INDEX,ALTER,CREATE TEMPORARY TABLES,LOCK TABLES ON drupal.* TO drupaluser@localhost;
FLUSH PRIVILEGES;

安装 PHP 模块并调整配置:

sudo apt-get update
sudo apt-get install php5-gd php5-curl libssh2-php
sudo nano /etc/php5/apache2/php.ini

搜索暴露php指令和允许 url_fopen指令并将它们都设置为“离开“:

expose_php = Off
allow_url_fopen = Off

在 Apache 中启用重写功能和 Htaccess 文件:

sudo a2enmod rewrite

现在打开默认虚拟主机文件:

sudo nano /etc/apache2/sites-enabled/000-default.conf

在“VirtualHost”块中,添加指向我们 Web 根目录的目录块。在此块中,将 AllowOverride 指令设置为“All”。您可能还想添加 ServerName 指令以指向您的域名,并更改 ServerAdmin 指令以反映有效的电子邮件地址:

<VirtualHost *:80>
    . . .
    ServerName  example.com
    ServerAdmin [email protected]
    DocumentRoot /var/www/html

    <Directory /var/www/html>
        AllowOverride All
    </Directory>
    . . .
</VirtualHost>

sudo service apache2 restart

安装 Drupal 文件实际上,我们首先将文件解压到主目录中,然后将其复制到适当的位置。这样做可以让我们在发生问题或意外删除任何文件时随时访问原始文件。

转到 Drupal 下载页面,在“推荐版本”部分下查看最新版本。右键单击您感兴趣的版本的 tar.gz 链接,然后选择“复制链接地址”或浏览器提供的任何类似选项。

返回您的服务器,切换到您的主目录并使用 wget 使用您复制的链接下载项目文件:

cd ~
wget http://ftp.drupal.org/files/projects/drupal-7.32.tar.gz

您的链接末尾可能会有不同的版本号。下载文件后,输入以下内容提取应用程序目录:

tar xzvf drupal*

现在,进入新提取的目录结构并使用 rsync 实用程序将所有文件安全地复制到服务器的 Web 根目录中。我们在此命令中使用点来指定当前目录。这对于复制我们需要的一些隐藏文件是必要的:

cd drupal*
sudo rsync -avz . /var/www/html

现在,您的主文件夹内的目录中就有了文件的原始版本,以防您需要引用它们。我们将进入 Web 根目录来自定义我们的安装:

cd /var/www/html

调整 Drupal 文件以确保安全性和易于安装 首先,我们需要在子树 sites/default 下创建一个名为 files 的新目录:

mkdir /var/www/html/sites/default/files

接下来,我们应该将默认设置文件复制到 Drupal 用于活动配置的文件名:

cp /var/www/html/sites/default/default.settings.php /var/www/html/sites/default/settings.php

此活动设置文件在安装过程中暂时需要一些额外的权限。我们需要暂时向组所有者授予写入权限(我们将立即将组所有者分配给 Web 用户)。安装成功后,我们将删除它:

chmod 664 /var/www/html/sites/default/settings.php

接下来,我们需要将文件的组所有权授予 Web 用户,在 Ubuntu 中为 www-data。我们希望为整个 Drupal 安装赋予以下所有权属性:

sudo chown -R :www-data /var/www/html/*

您的服务器现在已正确配置,可以运行基于 Web 的安装脚本。

完成基于 Web 的安装程序但是,我们仍然需要恢复设置文件的权限,以便未经授权的用户无法进行更改。在您的服务器上,通过键入以下内容来限制对文件的写访问权限:

chmod 644 /var/www/html/sites/default/settings.php

来源

相关内容