VPSにCheveretoで画像ホスティングサーバーを構築 (Ubuntu)


Cheveretoとは

画像ホスティングサイトでよく使われているソフトです。
https://github.com/Chevereto/Chevereto-Free
https://chevereto.com/free

こんな感じのUIのサイトよく見ますよね。
https://demo.chevereto.com/ (公式のサンプルサイト)

構築

1. LAMP環境構築

  • 必要なパッケージをインストール
sudo apt install apache2 mariadb-server php-mysql libapache2-mod-php -y
  • apache2とMariaDBを起動、サービスに登録し自動起動するようにする。
sudo systemctl start apache2
sudo systemctl enable apache2
sudo systemctl start mysql
sudo systemctl enable mysql
  • PHPのタイムゾーン設定
    次のコマンドでPHPの設定ファイルを編集。
sudo nano /etc/php/7.0/cli/php.ini

そして以下の行を次のように変更。

date.timezone = Asia/Tokyo

  • MariaDBのrootパスワードを設定し再起動
sudo mysqladmin -u root password 任意のパスワード
sudo systemctl restart mysql
  • 必要ならphpMyAdminをインストール
sudo apt install phpmyadmin

2. Chevereto用のユーザとDBを作成

ここでは例として以下の名前、パスワードを使います。

Database user: chevereto
Database user password: password
Database name: cheveretodb

sudo mysql -u root
CREATE USER 'chevereto'@'localhost' IDENTIFIED BY 'password';
CREATE DATABASE cheveretodb DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;
GRANT ALL PRIVILEGES ON cheveretodb.* TO 'chevereto'@'localhost' WITH GRANT OPTION;
FLUSH PRIVILEGES;
exit
sudo systemctl restart mysql

3. Cheveretoのダウンロードとインストール準備

wget https://github.com/Chevereto/Chevereto-Free/archive/1.1.0.tar.gz
tar -xvzf 1.1.0.tar.gz
mv Chevereto-Free-1.1.0 /var/www/chevereto
cd /var/www/chevereto
  • 設定ファイルを作成し編集
sudo nano app/settings.php

以下を書き込み保存

<?php
$config['db_name'] = 'cheveretodb';
$config['db_user'] = 'chevereto';
$config['db_pass'] = 'password';
$config['admin_password'] = 'password';
  • パーミッション変更
sudo chown -R www-data:www-data /var/www/chevereto
sudo chmod -R 755 /var/www/chevereto

4. Apacheの設定

  • mod rewriteを有効化
sudo a2enmod rewrite
  • バーチャルホストを構築
sudo nano /etc/apache2/sites-available/chevereto.conf

以下を書き込み保存

<VirtualHost *:80>
        ServerAdmin [email protected]
        ServerName example.org
        DocumentRoot /var/www/chevereto
        DirectoryIndex index.php

        <Directory /var/www/chevereto>
           Options -Indexes +FollowSymLinks
           AllowOverride All
           Require all granted
        </Directory>

    ErrorLog ${APACHE_LOG_DIR}/chevereto_error.log
    CustomLog ${APACHE_LOG_DIR}/chevereto_access.log combined
</VirtualHost>
  • バーチャルホストを有効化し再起動
sudo a2ensite chevereto
sudo systemctl restart apache2

5. Cheveretoのインストール

  • php-curlをインストール
sudo apt install php-curl -y
  • 設定したドメインにアクセスします
    例) http://example.org

  • 次のようなメッセージが表示されたらphp.iniを編集しallow_url_fopenをOnにする必要があります。

    cURL isn't installed and allow_url_fopen is disabled. Chevereto needs one of these to perform HTTP requests to remote servers.

  • phpinfoを利用しphp.iniの場所を探す。

sudo nano phpinfo.php

phpinfo.phpを作成し以下を記述し保存。

<?php
phpinfo();
?>

http://example.org/phpinfo.php にアクセス

Loaded Configuration File /etc/php/7.0/apache2/php.ini

sudo nano /etc/php/7.0/apache2/php.ini

以下の項目を探し2つともOnにする

allow_url_fopen = On
allown_url_include = On

Apacheを再起動

sudo systemctl restart apache2
  • 設定したドメインに再度アクセスし次のような画面になったら、準備完了です。 項目を入力し「Continue」をクリックします。

次のページでは管理者の名前、パスワード、メールアドレスの設定をします。
項目を入力し「Install Chevereto」をクリックします。

  • 次のような画面になればインストール成功です

さきほど設定した管理者としてログインしサイトの設定をしましょう。
設定項目については以下のページを参考にしてくだい。(一部の機能を利用するには有料版へのアップグレードが必要。)
https://chevereto.com/docs/dashboard

  • 日本語化

右上のユーザーメニューから「Settings」をクリックして「Language」、「Timezone」を変更。