私はファイル管理にTime4VPSのstorage VPSという、大容量ストレージが特徴のサービスを利用し始めました。
4TBのVPSが月額約2000円で借りることができます(VPSについては、さくらインターネットの記事がわかりやすいです)。
今回はこのStorage VPS上に、自分用のクラウドサービスNextcloudをインストールする方法を解説します。
VPS環境
- CentOS 7
インストール作業
ここからインストール作業を始めます。
基本的には、sudo権限のあるユーザーで作業を進めます。
事前準備
$ sudo yum install -y epel-release yum-utils unzip curl wget bash-completion policycoreutils-python-utils mlocate bzip2 vim
$ sudo yum update -y
Apache
$ sudo yum install -y httpd
Apacheの追加設定ファイルを作成します。
$ sudo vim /etc/httpd/conf.d/nextcloud.conf
<VirtualHost *:80>
DocumentRoot /var/www/html/nextcloud/
ServerName (サーバのIPアドレス)
<Directory /var/www/html/nextcloud/>
Require all granted
AllowOverride All
Options FollowSymLinks MultiViews
<IfModule mod_dav.c>
Dav off
</IfModule>
</Directory>
</VirtualHost>
Apacheを起動します。
$ sudo systemctl enable httpd.service
$ sudo systemctl start httpd.service
PHP 7.4
CentOS7のデフォルトでは、php-5になってしまうので、php-74をインストールします。
EPELとREMIリポジトリを追加する。
$ sudo yum install -y epel-release
$ sudo rpm -Uvh http://rpms.famillecollet.com/enterprise/remi-release-7.rpm
REMIのphp-7を有効化する。
$ sudo yum-config-manager --enable remi-php74
PHPと依存パッケージをインストールする。
$ sudo yum install -y php php-gd php-mbstring php-intl php-pecl-apcu php-mysqlnd php-opcache php-json php-zip
データベース
データベースには、MySQL/MariaDBを使用します。
$ sudo yum install -y mariadb mariadb-server
起動しておきます。
$ sudo systemctl enable mariadb.service
$ sudo systemctl start mariadb.service
必要であれば、以下のコマンドでセキュリティの設定もしておきましょう。
$ sudo mysql_secure_installation
Nextcloud
Nextcloudのダウロードページで、Download Nextcloud Server > Download > Archive file for server ownersからダウロードURLを取得します。
ダウロードURLは、https://download.nextcloud.com/server/releases/nextcloud-x.y.z.zip
のような形式です。
取得できたら、zipファイルとそのチェックサムファイル(zipファイルURLの後ろに.md5
とつけるだけ)もダウンロードします。
$ wget https://download.nextcloud.com/server/releases/nextcloud-x.y.z.zip
$ wget https://download.nextcloud.com/server/releases/nextcloud-x.y.z.zip.md5
以下のコマンドで、正しくダウンロードできているか確認します。
$ md5sum -c nextcloud-x.y.z.zip.md5 < nextcloud-x.y.z.zip
Success.
同じ手順でPGP署名も確認します。
$ wget https://download.nextcloud.com/server/releases/nextcloud-x.y.z.zip.asc
$ wget https://nextcloud.com/nextcloud.asc
$ gpg --import nextcloud.asc
$ gpg --verify nextcloud-x.y.z.tar.bz2.asc nextcloud-x.y.z.tar.bz2
確認が取れたら、zipファイルを展開します。
$ unzip nextcloud-*.zip
展開したNextcloudをWebサーバのドキュメントルートにコピーします。
$ cp -R nextcloud/ /var/www/html/
データ保存用のディレクトリを作成します。
$ mkdir /var/www/html/nextcloud/data
Nextcloudのディレクトリ全体で読み書きができるように所有者情報を変更します。
$ chown -R apache:apache /var/www/html/nextcloud
Apacheを再起動します。
$ systemctl restart httpd.service
ファイヤーウォール
ファイヤーウォールを起動し、サーバー起動時に立ち上がるように設定する。
$ sudo systemctl start firewalld
$ sudo systemctl enable firewalld
ブラウザからアクセスできるように、ファイアウォールの設定を変更します。
$ sudo firewall-cmd --zone=public --add-service=http --permanent
$ sudo firewall-cmd --reload
Nextcloudの設定
ここまで来れば、Nextcloudが起動します。
http://(IPアドレス)
にアクセスすると、以下のような画面が表示されます。
まとめ
今回はTime4VPSで、Nextcloudを実装してみました。
実際に使用してみると、読み込み時間が遅かったりするなど、若干サーバーのスペック不足を感じます。
もう少し使い込んでみて、改善方法などをブログで共有できたらと思っています。
最後までお読みいただき、ありがとうございました。