Nextcloud on Alibaba Cloud の構築メモ
はじめに
個人用のメモとして半年ほど残していましたが、下書きスペースの不足により公開。
Alibaba Cloud の CentOS へ Nextcloud を構築する簡易メモです。
最後に実験として中国国内サーバーからCENを使っての接続も試しています。
Middleware Install
sudo yum install -y epel-release yum-utils unzip curl wget bash-completion policycoreutils-python mlocate bzip2
sudo yum update -y
Apache
sudo yum install -y httpd
sudo systemctl enable httpd.service
sudo systemctl start httpd.service
PHP
sudo yum install -y centos-release-scl
sudo yum install -y rh-php72 rh-php72-php rh-php72-php-gd rh-php72-php-mbstring rh-php72-php-intl rh-php72-php-pecl-apcu rh-php72-php-mysqlnd rh-php72-php-pecl-redis rh-php72-php-opcache rh-php72-php-imagick
sudo ln -s /opt/rh/httpd24/root/etc/httpd/conf.d/rh-php72-php.conf /etc/httpd/conf.d/
sudo ln -s /opt/rh/httpd24/root/etc/httpd/conf.modules.d/15-rh-php72-php.conf /etc/httpd/conf.modules.d/
sudo ln -s /opt/rh/httpd24/root/etc/httpd/modules/librh-php72-php7.so /etc/httpd/modules/
シンボリックリンクを確認します。
ls -la /etc/httpd/conf.d/rh-php72-php.conf
ls -la /etc/httpd/conf.modules.d/15-rh-php72-php.conf
ls -la /etc/httpd/modules/librh-php72-php7.so
sudo ln -s /opt/rh/rh-php72/root/bin/php /usr/bin/php
ls -la /usr/bin/php
Database
curl -sS https://downloads.mariadb.com/MariaDB/mariadb_repo_setup | sudo bash
cat /etc/yum.repos.d/mariadb.repo
sudo yum install MariaDB-server MariaDB-client
sudo systemctl enable mariadb.service
sudo systemctl start mariadb.service
もしかしたら以下が必要・・・?
sudo mkdir -p /etc/mysql/mariadb.conf.d/
sudo mkdir -p /etc/mysql/conf.d/
Redis
sudo yum install -y redis
sudo systemctl enable redis.service
sudo systemctl start redis.service
Database Configuration
MariaDB
こちら参照
sudo cp -p /etc/my.cnf /etc/my.cnf.bak
Original File
[mysqld]
datadir=/var/lib/mysql
socket=/var/lib/mysql/mysql.sock
# Disabling symbolic-links is recommended to prevent assorted security risks
symbolic-links=0
# Settings user and group are ignored when systemd is used.
# If you need to run mysqld under a different user or group,
# customize your systemd unit file for mariadb according to the
# instructions in http://fedoraproject.org/wiki/Systemd
[mysqld_safe]
log-error=/var/log/mariadb/mariadb.log
pid-file=/var/run/mariadb/mariadb.pid
#
# include all files from the config directory
#
!includedir /etc/my.cnf.d
sudo vi /etc/my.cnf
Edited File
[mysqld]
datadir=/var/lib/mysql
socket=/var/lib/mysql/mysql.sock
# Disabling symbolic-links is recommended to prevent assorted security risks
symbolic-links=0
# Settings user and group are ignored when systemd is used.
# If you need to run mysqld under a different user or group,
# customize your systemd unit file for mariadb according to the
# instructions in http://fedoraproject.org/wiki/Systemd
character-set-server = utf8mb4
collation-server = utf8mb4_general_ci
transaction_isolation = READ-COMMITTED
binlog_format = ROW
innodb_large_prefix=on
innodb_file_format=barracuda
innodb_file_per_table=1
[mysqld_safe]
log-error=/var/log/mariadb/mariadb.log
pid-file=/var/run/mariadb/mariadb.pid
#
# include all files from the config directory
#
!includedir /etc/my.cnf.d
[server]
skip-name-resolve
innodb_buffer_pool_size = 128M
innodb_buffer_pool_instances = 1
innodb_flush_log_at_trx_commit = 2
innodb_log_buffer_size = 32M
innodb_max_dirty_pages_pct = 90
query_cache_type = 1
query_cache_limit = 2M
query_cache_min_res_unit = 2k
query_cache_size = 64M
tmp_table_size= 64M
max_heap_table_size= 64M
slow-query-log = 1
slow-query-log-file = /var/log/mariadb/slow.log
long_query_time = 1
[client-server]
!includedir /etc/mysql/conf.d/
!includedir /etc/mysql/mariadb.conf.d/
[client]
default-character-set = utf8mb4
sudo systemctl restart mariadb.service
PHP configuration
sudo cp -p /etc/opt/rh/rh-php72/php.ini /etc/opt/rh/rh-php72/php.ini.bak
sudo vi /etc/opt/rh/rh-php72/php.ini
# configuration for PHP MySQL module
extension=pdo_mysql.so
[mysql]
mysql.allow_local_infile=On
mysql.allow_persistent=On
mysql.cache_size=2000
mysql.max_persistent=-1
mysql.max_links=-1
mysql.default_port=
mysql.default_socket=/var/lib/mysql/mysql.sock # Debian squeeze: /var/run/mysqld/mysqld.sock
mysql.default_host=
mysql.default_user=
mysql.default_password=
mysql.connect_timeout=60
mysql.trace_mode=Off
パスワード設定 Zaq12wsx
mysql -uroot -p
CREATE USER 'nextcloud'@'localhost' IDENTIFIED BY 'password';
CREATE DATABASE IF NOT EXISTS nextcloud;
GRANT SELECT, INSERT, UPDATE, DELETE, CREATE, DROP, INDEX, ALTER, CREATE TEMPORARY TABLES ON nextcloud.* TO 'nextcloud'@'localhost' IDENTIFIED BY 'password';
FLUSH privileges;
quit
Installing Nextcloud
ココからダウンロードする。
wget https://download.nextcloud.com/server/releases/nextcloud-16.0.1.zip
unzip nextcloud-16.0.1.zip
sudo cp -R nextcloud/ /var/www/html/
sudo mkdir /var/www/html/nextcloud/data
sudo chown -R apache:apache /var/www/html/nextcloud
systemctl restart httpd.service
Nextcloud Access
コチラからダウンロード可能です。
初期状態だとこんな感じです。
実際にサーバーのdataディレクトリを見に行くと同じ様にファイルが置かれています。
新しいファイルをNextcloudの画面からアップロードするとサーバー側のディレクトリが増えてファイルもちゃんと増えていました。
中国からCEN経由でのVPC間アクセス
こんな感じの構成で中国のサーバーからのアクセス実験をしてみました。
ちなみにこのままだとtrusted_domains
にPrivateのIPが設定されていないので信頼できないドメイン
と判断されます。
画面の指示の通りconfig.php
を編集します。
最初にバックアップを作成します。
sudo cp -p /var/www/html/nextcloud/config/config.php /var/www/html/nextcloud/config/config.php.bak
config.phpを編集します。
sudo vi /var/www/html/nextcloud/config/config.php
編集前のconfig.php
<?php
$CONFIG = array (
'instanceid' => '一意の識別子(さわるな危険)',
'passwordsalt' => '自動生成(さわるな危険)',
'secret' => '自動生成(さわるな危険)',
'trusted_domains' =>
array (
0 => '47.xxx.xxx.xxx',
),
'datadirectory' => '/var/www/html/nextcloud/data',
'dbtype' => 'mysql',
'version' => '16.0.1.1',
'overwrite.cli.url' => 'http://47.xxx.xxx.xxx/nextcloud',
'dbname' => 'データベース名',
'dbhost' => 'localhost:3306',
'dbport' => '',
'dbtableprefix' => 'oc_',
'mysql.utf8mb4' => true,
'dbuser' => 'データーベースユーザー',
'dbpassword' => 'データーベースユーザーパスワード',
'installed' => true,
);
編集箇所
'trusted_domains' =>
array (
0 => '47.xxx.xxx.xxx',
1 => '10.10.1.36',
),
ファイル保存後に再度アクセスすればログイン可能な状態になります。
サービスの再起動などは不要です。
日本からアップロードしたファイルを中国(上海)のマシンから取得してみます。
おわりに
ちょっとした Nextcloud の Alibaba Cloud での構築とアクセスの実験でした。
CENに関してはコチラも参考にどうぞ
Author And Source
この問題について(Nextcloud on Alibaba Cloud の構築メモ), 我々は、より多くの情報をここで見つけました https://qiita.com/MatYoshr/items/579e840f9601a74a63c4著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .