使用樱花VPS在Ubuntu 16.04服务器上创建WordPress环境

樱花VPS的设置

选择1G计划(内存1GB,虚拟2核CPU,SSD 30GB)进行签约。

由于Ubuntu 16.04有官方的自定义操作系统安装指南,因此本节省略介绍安装方法。

在某些情况下,HTML5控制台在Firefox浏览器中出现了加载中卡死的现象,而在Chrome浏览器中正常运行。此外,HTML5控制台还存在无法粘贴剪贴板字符串的问题,因此需要使用串行控制台。

准备

使用串行控制台等方法,将公钥注册到/home/登录用户/.ssh/authorized_keys中,使其处于可以进行SSH连接的状态。由于针对SSH默认端口(22号)的攻击非常普遍,建议进行SSH登录端口的更改并禁用密码登录。

登录后,更新软件包管理器(apt)的信息至最新状态。

$ sudo apt update

顺便安装vim、curl和git。

$ sudo apt install vim curl git

安装 Apache

网页服务器使用Apache进行安装。使用Nginx也可以,但是在搭建Wordpress时,Apache更简单。

$ sudo apt install apache2

提前确认防火墙设置。如果如下所示,则可以了(端口80和443是打开的)。

$ sudo ufw app list
Available applications:
  Apache
  Apache Full
  Apache Secure
  OpenSSH

在这个阶段,如果确认服务器上设置的IP地址,应该会显示Apache2的默认页面。

MySQL的安装

WordPress默认使用MySQL或MariaDB作为数据库服务器。在Ubuntu 16.04中,使用MySQL更为方便。

$ sudo apt install mysql-server

在安装过程中会提示您设置root用户的密码,请进行设置。

当安装完毕后,进行MySQL的初始设置。

$ sudo mysql_secure_installation

首先,会被询问是否启用VALIDATE PASSWORD插件。启用后,如果尝试设置弱密码,将会出现错误。如果注重安全性,建议启用该插件。

后来还会被问到一些问题。选择”是”是一个更安全的答案,所以如果不确定的话,可以选择”是”。

    • rootのパスワードを変更するか?

 

    • 匿名ユーザを削除するか?

 

    • リモートからのrootでのログインを禁止するか?

 

    • testデータベースを削除するか?

 

    テーブルのアクセス権をいますぐリロードするか?

MySQL的安装

可以使用以下命令登录MySQL。系统会要求输入密码,请输入之前设置的密码。

$ mysql -u root -p

当您登录时,将显示一个mysql>提示符。使用以下SQL语句可以创建一个用于WordPress的数据库。您可以选择任何名称,这里我们将其命名为”wordpress”。

mysql> CREATE DATABASE wordpress DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci;

PHP的安装

安装PHP本体以及用于将PHP作为Apache模块运行的库和用于在PHP中连接MySQL的库。

$ sudo apt install php libapache2-mod-php php-mysql

还有一些其他的库也可以提前安装好,比如:

    • php-mbstring: 日本語を扱うなら必須

 

    • php-mcrypt: 暗号化

 

    • php-curl: 外部サービスのAPIを使う際に使うことがある

 

    • php-gd: 画像処理

 

    php-xml: XMLを扱う

如果安装成功,则应该可以使用php命令。

$ php -v
PHP 7.0.4-7ubuntu2.1 (cli) ( NTS )
Copyright (c) 1997-2016 The PHP Group
Zend Engine v3.0.0, Copyright (c) 1998-2016 Zend Technologies
    with Zend OPcache v7.0.6-dev, Copyright (c) 1999-2016, by Zend Technologies

为了确认它可以作为Apache模块运行,我们将在路径/var/www/html/info.php上创建一个测试文件。

<?php phpinfo();

请重新启动Apache。

$ sudo systemctl restart apache2

访问http://IP地址/info.php,如果显示PHP的配置信息,则表示正常。

Apache 配置

为了能够通过.htaccess在目录级别上更改Apache的配置,需要修改Apache的配置。在这里,假定要在/var/www/html下创建WordPress目录。

# 編集前の状態に戻せるようにバックアップしておく
$ sudo cp /etc/apache2/apache2.conf /etc/apache2/apache2.conf.bk
$ sudo vim /etc/apache2/apache2.conf

以下のような設定があるはず。

<Directory /var/www/>
        Options Indexes FollowSymLinks
        AllowOverride None
        Require all granted
</Directory>

上記設定の下に、以下を追記する。ドキュメントルートの設定は後で行うので省略。

<Directory /var/www/html/wordpress>
        AllowOverride All
</Directory>

設定ファイルを書き換えたら、以下のコマンドでエラーがないか確認しておく。

$ sudo apache2ctl configtest

「Syntax OK」と表示されればOK。エラーが出たら編集前の状態に戻す。

然后,启用mod_rewrite进行URL重写,并重新启动Apache。

$ sudo a2enmod rewrite
$ sudo systemctl restart apache2

安装WP-CLI

不强制,但可能会很方便,所以先放进去吧。

$ cd
$ curl -O https://raw.githubusercontent.com/wp-cli/builds/gh-pages/phar/wp-cli.phar
$ chmod +x wp-cli.phar
$ sudo mv wp-cli.phar /usr/local/bin/wp
$ wp --info
PHP binary: /usr/bin/php7.0
PHP version:    7.0.4-7ubuntu2.1
php.ini used:   /etc/php/7.0/cli/php.ini
WP-CLI root dir:    phar://wp-cli.phar
WP-CLI packages dir:    /home/ryo/.wp-cli/packages/
WP-CLI global config:
WP-CLI project config:
WP-CLI version: 0.23.1

安装WordPress

WP-CLIを使い、Wordpressのソースコードをダウンロードする。–locale=jaを設定すると、日本語用のパッチが当たった状態のWordpressがダウンロードできる。

$ wp core download --locale=ja --path=/tmp/wordpress

ここでは、/tmp/wordpressでセットアップして、最後に/var/www/html/wordpressにコピーを行う。/tmpはパーミッションが緩いので一時的な作業ディレクトリに向いている。なお、サーバを再起動すると/tmpの中身は消去される。

設定ファイルを準備する(.htaccessはWordpressのインストール時に勝手に設定されるので、ファイルだけ用意して権限を設定しておく)。

$ touch /tmp/wordpress/.htaccess
$ chmod 660 /tmp/wordpress/.htaccess
$ cp /tmp/wordpress/wp-config-sample.php /tmp/wordpress/wp-config.php

建议提前创建一个upgrade目录。如果没有这个目录,可能会由于权限问题导致自动升级失败。

$ mkdir /tmp/wordpress/wp-content/upgrade

完成后,将整个目录进行复制。通过在复制源的末尾添加一个点(.),也会复制以点开头的文件名的文件。

$ sudo cp -a /tmp/wordpress/. /var/www/html/wordpress

ディレクトリのオーナーを設定する。自分の作業ユーザで読み書きでき、apacheユーザ(www-data)から読み取り可能な設定が望ましい。

$ sudo chown -R 作業ユーザ名:www-data /var/www/html/wordpress

wp-contentディレクトリについては、ファイルアップロード等に使うため、www-dataユーザでも書き込めるようにする。

$ sudo chmod g+w /var/www/html/wordpress/wp-content
$ sudo chmod -R g+w /var/www/html/wordpress/wp-content/themes
$ sudo chmod -R g+w /var/www/html/wordpress/wp-content/plugins

接下来,需要进行wp-config.php的设置。首先,使用以下命令或类似命令生成安全的随机字符串。

$ curl -s https://api.wordpress.org/secret-key/1.1/salt/

将获取到的字符串设置到wp-config.php文件中的define(‘AUTH_KEY’, ‘…’)所在的配置段。

然后,进行MySQL数据库连接设置。将所需的字符串设置在以下位置。

define('DB_NAME', 'wordpress'); # 本記事の手順通りならwordpress
define('DB_USER', 'root'); # 本記事の手順通りならrootだけど、別ユーザを作ったほうがセキュア
define('DB_PASSWORD', 'password'); # パスワードを設定する

以下の設定の追記も推奨。この設定が無い場合、プラグインの更新時等にFTPのログイン情報が求められることがある。ここでは、wp-content配下のプラグイン・テーマのディレクトリへのwww-dataユーザへの書き込みを許可しているので、Apacheに直接書き込ませる(FS_METHOD = direct)。

define('FS_METHOD', 'direct');

最后,为WordPress网站准备Apache配置文件。首先,复制现有文件并创建新站点的配置文件。

$ sudo cp /etc/apache2/sites-available/000-default.conf /etc/apache2/sites-available/010-wordpress.conf

为WordPress设置VirtualHost。

编辑/ etc/apache2/sites-available/010-wordpress.conf,将DocumentRoot更改为/var/www/html/wordpress。其他部分可以不做更改。

<VirtualHost *:80>
        # ドメインがあれば設定、無い場合はコメントアウトのまま
        #ServerName www.example.com

        ServerAdmin webmaster@localhost
        DocumentRoot /var/www/html/wordpress

        ErrorLog ${APACHE_LOG_DIR}/error.log
        CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>

以本地中文进行重述,只需提供一种选项:
运行 `sudo apache2ctl configtest` 命令来检查语法是否正确。

下一步是禁用默认网站,并启用WordPress的网站。

$ sudo a2dissite 000-default
$ sudo a2ensite 010-wordpress
$ sudo systemctl restart apache2

一旦完成这些,访问该网站的IP地址,应该会出现WordPress的初始设置页面。
之后只需要进行用户设置,便完成了安装。

SSL的引入(让我们来帮助加密)

使用免费的Let’s Encrypt SSL。请注意,以下步骤不是首次设置方法。这是在已经设置好Let’s Encrypt的情况下,在另一台服务器上获取Let’s Encrypt证书的步骤。

关于初次设置方面,以下文章值得推荐。

让我们来了解一下Let’s Encrypt的使用方法。

安装客户端(certbot)。

$ mkdir ~/bin
$ cd ~/bin
$ git clone https://github.com/certbot/certbot
$ cd certbot

当您第一次运行以下命令时,会要求输入密码,然后将安装依赖包(如Python等)。

$ ./certbot-auto

在我的环境中,当执行上述命令时,出现了OSError: Command ~/.local/…ncrypt/bin/python2.7 – setuptools pkg_resources pip wheel failed with error code 1的错误,然后程序退出了。
当我执行export LC_ALL=”C”命令后再次运行该命令,就成功了。似乎是由于地域设置为ja_JP所导致的问题。

参考:OSError: 命令 ~/.local/…ncrypt/bin/python2.7 – setuptools pkg_resources pip wheel 执行失败,错误代码为1。

广告
将在 10 秒后关闭
bannerAds