nextcloudによる自前クラウドの構築です。
nextcloudのデータベースは最初のログイン時に
sqliteかMySQL(またはMariaDB)選択しますので
どちらかがサーバーで稼働している必要があります。
またPHPも対応バージョンが必要となります。
MySQLを選択するなら使用するデータベースを
作成しておきます。
SQLliteを採用する場合はNextcloudのインストール
まで読み飛ばしてください。
# mysql -u root -p ←rootのパスワードで入室
データベース作成
> CREATE DATABASE nextcloud;
ユーザーとパスワード作成
> create user ‘nextcloud’@’localhost’ identified by ‘password’;
> grant all privileges on nextcloud.* to ‘nextcloud’@’localhost’;
> quit
上記例はデータベース名もユーザー名も
nextcloudにしてあります。
なお
mysql> grant all privileges on nextcloud.* to ‘nextcloud’@’localhost’ identified by ‘password’;
では
ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ‘identified by ‘password” at line 1
という構文エラーになります。
PHPはバージョンが8.0です。
非推奨の古いPHPをご使用の方は、ここを参考に
バージョンを上げてください。
いよいよNextcloudのインストールです
# wget https://download.nextcloud.com/server/releases/latest.tar.bz2
# tar -jxvf latest.tar.bz2
# mv nextcloud/ /home/ユーザー/public_html/
# mkdir /home/ユーザー/public_html/nextcloud/data
# chown -R apache:apache /home/ユーザー/public_html/nextcloud
# rm -f latest.tar.bz2
設定ファイル作成
vim /etc/httpd/conf.d/nextcloud.conf
Alias /nextcloud /var/www/nextcloud
Require all granted
AllowOverride All
Options FollowSymLinks MultiViews
Dav off
Redirect 301 /.well-known/carddav /nextcloud/remote.php/dav
Redirect 301 /.well-known/caldav /nextcloud/remote.php/dav
Redirect 301 /.well-known/webfinger /nextcloud/index.php/.well-known/webfinger
Apache再起動
# systemctl restart httpd
管理者アカウントを作成
サイトにアクセス
https://サーバー名/nextcloud/
任意のユーザー名
任意のパスワード
ストレージとデータベースを選択
MySQL/MariaDBを選択
MySQLのユーザー名(nextcloud)
MySQLのパスワード
データベース名(nextcloud)
データベースのホスト名(localhost)
これらが終わったらインストールします。
他設定いろいろ
# crontab -u apache -e
*/5 * * * * php -f /home/ユーザー/pubulic_html/nextcloud/cron.php
# vim /etc/php.d/10-opcache.ini
以下、行頭の;を削除してコメント解除
opcache.memory_consumption=128
opcache.interned_strings_buffer=16
opcache.max_accelerated_files=10000
opcache.revalidate_freq=2
opcache.save_comments=1
PHP使用可能メモリ量が少なければ
# vim /etc/php.ini
memory_limit = ****M
****Mは最低512MB、環境による最大限を
割り振っておくとよいでしょう。
ちなみに拙宅サーバーは4Gです。
拙生は経験しておりませんが、一括ダウンロード時の際
ファイル名文字化けすることがあるらしく、その対処法は
以下の通りです。
vim /home/info/public_html/nextcloud/3rdparty/deepdiver/zipstreamer/src/ZipStreamer.php
ずっと下の方にある
// Utility methods ////////////////////////////////////////////////////////
private static function normalizeFilePath($filePath) {
//return trim(str_replace(‘\\’, ‘/’, $filePath), ‘/’);
↑ //でコメント行とする。
return mb_convert_encoding(trim(str_replace(‘\\’, ‘/’, $filePath), ‘/’),”SJIS”,”UTF-8″);
↑ 追記する。
}
# systemctl restart httpd
# systemctl restart php-fpm
自身の備忘録の要素が強く検証が足りていませんので
後に訂正や追記があるかもしれません。
なおクライアント側はこちらの
Download for desktopプルダウンメニューから
ご自身のOSに合わせてダウンロードしてください。
モバイル用も置いてあります。