GNU/Linux >> Linux の 問題 >  >> Panels >> Panels

Ubuntu16.04にNextcloud9をインストールします

この記事では、MariaDB、PHP-FPM 7.0、およびNginxを使用してUbuntu16.04VPSにNextcloud9をインストールする方法を紹介します。 Nextcloudは、ownCloudからフォークされたオープンソースのセルフホストファイル同期および共有アプリケーションです。このガイドは他のLinuxVPSシステムでも機能するはずですが、Ubuntu16.04VPS用にテストおよび作成されています。

Ubuntu20.04にNextcloudをインストールする方法に関するこのチュートリアルの更新バージョンがあります

1。 sudoユーザーとSSH経由でVPSにログインします

ssh user@vps_IP

2。システムを更新し、必要なパッケージをインストールします

[user]$ sudo apt-get update && sudo apt-get -y upgrade
[user]$ sudo apt-get install software-properties-common nano wget

3。 MariaDB10.1をインストールします

MariaDBリポジトリをソースリストに追加し、最新のMariaDB 10.1サーバーをインストールするには、次のコマンドを実行します。

[user]$ sudo apt-key adv --recv-keys --keyserver hkp://keyserver.ubuntu.com:80 0xF1656F24C74CD1D8
[user]$ sudo add-apt-repository 'deb [arch=amd64,i386] http://ftp.osuosl.org/pub/mariadb/repo/10.1/ubuntu xenial main'
[user]$ sudo apt-get update
[user]$ sudo apt-get install -y mariadb-server

インストールが完了したら、次のコマンドを実行してインストールを保護します。

[user]$ mysql_secure_installation

次の行にコメントを付けて、MariaDBバイナリロギングを無効にします

[user]$ sudo nano /etc/mysql/my.cnf
#log_bin                = /var/log/mysql/mariadb-bin
#log_bin_index          = /var/log/mysql/mariadb-bin.index

サービスを再開します

[user]$ sudo service mysql restart

次に、Nextcloudインストール用のデータベースを作成する必要があります。

[user]$ mysql -uroot -p
MariaDB [(none)]> CREATE DATABASE nextcloud;
MariaDB [(none)]> GRANT ALL PRIVILEGES ON nextcloud.* TO 'nextcloud'@'localhost' IDENTIFIED BY 'strong_password';
MariaDB [(none)]> FLUSH PRIVILEGES;
MariaDB [(none)]> \q

4。 PHPと必要なPHPモジュールをインストールする

PHPバージョン7.0の最新の安定バージョンと必要なすべてのモジュールをインストールするには、次のコマンドを実行します。

[user]$ sudo apt-get -y install php-fpm php-cli php-json php-curl php-imap php-gd php-mysql php-xml php-zip php-intl php-mcrypt php-imagick php-mbstring

次のコマンドは、PHPのメモリ制限を512MBに設定し、upload_max_filesizeとpost_max_sizeの値を200Mに変更し、タイムゾーンをUTCに設定します。

[user]$ sed -i "s/memory_limit = .*/memory_limit = 512M/" /etc/php/7.0/fpm/php.ini
[user]$ sed -i "s/;date.timezone.*/date.timezone = UTC/" /etc/php/7.0/fpm/php.ini
[user]$ sed -i "s/;cgi.fix_pathinfo=1/cgi.fix_pathinfo=1/" /etc/php/7.0/fpm/php.ini
[user]$ sed -i "s/upload_max_filesize = .*/upload_max_filesize = 200M/" /etc/php/7.0/fpm/php.ini
[user]$ sed -i "s/post_max_size = .*/post_max_size = 200M/" /etc/php/7.0/fpm/php.ini

PHP-FPMプールファイルの最後に次の環境変数を追加します。

[user]$ sudo nano /etc/php/7.0/fpm/pool.d/www.conf
env[HOSTNAME] = $HOSTNAME
env[PATH] = /usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
env[TMP] = /tmp
env[TMPDIR] = /tmp
env[TEMP] = /tmp

PHP-FPMを再起動します:

[user]$ sudo service php7.0-fpm restart

5。 Nextcloud9をダウンロードして解凍します

Nextcloudを/var/www/nextcloudにインストールします ディレクトリ。 NextcloudのWebサイトからNextcloudの最新バージョンをダウンロードします:

[user]$ wget https://download.nextcloud.com/server/releases/nextcloud-9.0.52.zip
[user]$ unzip nextcloud-9.0.52.zip
[user]$ sudo mkdir /var/www/
[user]$ sudo mv nextcloud /var/www/
[user]$ rm -f nextcloud-9.0.52.zip
[user]$ sudo chown -R www-data: /var/www/nextcloud

6。 Nginxをインストールして構成する

Ubuntuリポジトリで利用可能な最新の安定バージョンのNginxをインストールするには、次のコマンドを実行します。

[user]$ sudo apt-get install nginx-extras nginx

パッケージnginx-extrasは、 nginxのバージョンを提供します 標準モジュールに加えて、追加 nginx cache purgeなどの機能とモジュール モジュール。

自己署名SSL証明書を生成します:

[user]$ sudo mkdir -p /etc/nginx/ssl
[user]$ cd /etc/nginx/ssl
[user]$ sudo openssl genrsa -des3 -passout pass:x -out nextcloud.pass.key 2048
[user]$ sudo openssl rsa -passin pass:x -in nextcloud.pass.key -out nextcloud.key
[user]$ sudo rm nextcloud.pass.key
[user]$ sudo openssl req -new -key nextcloud.key -out nextcloud.csr
[user]$ sudo openssl x509 -req -days 365 -in nextcloud.csr -signkey nextcloud.key -out nextcloud.crt

自己署名SSL証明書に関連する警告を受け取りたくない場合は、ここで信頼できるSSL証明書を購入できます。

次に、新しいNginxサーバーブロックを作成します:

[user]$ sudo nano /etc/nginx/sites-available/nextcloud
server {
    listen 80;
    server_name my.nextcloud.com;
    return 301 https://$server_name$request_uri;
}
server {
    listen 443 ssl http2;
    server_name my.nextcloud.com;
    root /var/www/nextcloud;

    ssl on;
    ssl_certificate     /etc/nginx/ssl/nextcloud.crt;
    ssl_certificate_key /etc/nginx/ssl/nextcloud.key;
    ssl_session_timeout 5m;
    ssl_ciphers               'AES128+EECDH:AES128+EDH:!aNULL';
    ssl_protocols              TLSv1 TLSv1.1 TLSv1.2;
    ssl_prefer_server_ciphers on;

    add_header X-Content-Type-Options nosniff;
    add_header X-Frame-Options "SAMEORIGIN";
    add_header X-XSS-Protection "1; mode=block";
    add_header X-Robots-Tag none;
    add_header X-Download-Options noopen;
    add_header X-Permitted-Cross-Domain-Policies none;

    access_log  /var/log/nginx/nextcloud.access.log;
    error_log   /var/log/nginx/nextcloud.error.log;

    location = /robots.txt {
        allow all;
        log_not_found off;
        access_log off;
    }

    location = /.well-known/carddav { 
        return 301 $scheme://$host/remote.php/dav; 
    }
    location = /.well-known/caldav { 
        return 301 $scheme://$host/remote.php/dav; 
    }

    client_max_body_size 512M;
    fastcgi_buffers 64 4K;
    gzip off;

    error_page 403 /core/templates/403.php;
    error_page 404 /core/templates/404.php;

    location / {
        rewrite ^ /index.php$uri;
    }

    location ~ ^/(?:build|tests|config|lib|3rdparty|templates|data)/ {
        deny all;
    }

    location ~ ^/(?:\.|autotest|occ|issue|indie|db_|console) {
        deny all;
    }

    location ~^/(?:index|remote|public|cron|core/ajax/update|status|ocs/v[12]|updater/.+|ocs-provider/.+|core/templates/40[34])\.php(?:$|/) {
        include fastcgi_params;
        fastcgi_split_path_info ^(.+\.php)(/.+)$;
        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
        fastcgi_param PATH_INFO $fastcgi_path_info;
        fastcgi_param HTTPS on;
        #Avoid sending the security headers twice
        fastcgi_param modHeadersAvailable true;
        fastcgi_param front_controller_active true;
        fastcgi_pass unix:/var/run/php/php7.0-fpm.sock;
        fastcgi_intercept_errors on;
        fastcgi_request_buffering off;
    }

    location ~ ^/(?:updater|ocs-provider)(?:$|/) {
        try_files $uri/ =404;
        index index.php;
    }

    location ~* \.(?:css|js)$ {
        try_files $uri /index.php$uri$is_args$args;
        add_header Cache-Control "public, max-age=7200";
        add_header X-Content-Type-Options nosniff;
        add_header X-Frame-Options "SAMEORIGIN";
        add_header X-XSS-Protection "1; mode=block";
        add_header X-Robots-Tag none;
        add_header X-Download-Options noopen;
        add_header X-Permitted-Cross-Domain-Policies none;
        # Optional: Don't log access to assets
        access_log off;
    }

    location ~* \.(?:svg|gif|png|html|ttf|woff|ico|jpg|jpeg)$ {
        try_files $uri /index.php$uri$is_args$args;
        access_log off;
    }

    location ~ /\.ht {
        deny all;
    }

}

シンボリックリンクを作成してサーバーブロックをアクティブ化します:

[user]$ sudo ln -s /etc/nginx/sites-available/nextcloud /etc/nginx/sites-enabled/nextcloud

Nginx構成をテストし、nginxを再起動します:

[user]$ sudo nginx -t
[user]$ sudo service nginx restart

7。 Nextcloud9をインストールする

お気に入りのウェブブラウザでhttps://my.nextcloud.com/install.phpを開くと、Nextcloud9のインストール画面が表示されます。このページでは、前に作成したデータベースの詳細、Nextcloud 9管理者の詳細を入力し、最後に[インストール]ボタンをクリックする必要があります。

それでおしまい。これで、Ubuntu16.04VPSにNextcloud9が正常にインストールされました。 Nextcloud 9のインストールを管理する方法の詳細については、Nextcloud9の公式ドキュメントを参照してください。

もちろん、Nextcloud Hostingサービスのいずれかを使用している場合は、Ubuntu16.04にNextcloud9をインストールする必要はありません。その場合は、専門のLinux管理者にセットアップを依頼するだけです。彼らは24時間年中無休で利用可能であり、あなたの要求をすぐに処理します。その他のアップデートについては、Ubuntu16.04にNextCloud14をインストールする方法に関する投稿もご覧ください。

PS 。この投稿が気に入った場合は、Ubuntu16.04にNextcloud9をインストールする方法について、左側のボタンを使用してソーシャルネットワーク上の友達と共有するか、下に返信を残してください。ありがとう。


Panels
  1. Ubuntu16.04にコックピットをインストールする

  2. UbuntuにKokenをインストールする方法

  3. Ubuntu14.04にMauticをインストールします

  1. Ubuntu14.04にMinifluxをインストールします

  2. Ubuntu14.04にImpressCMSをインストールする方法

  3. Ubuntu14.04にMicroweberをインストールします

  1. Ubuntu14.04にSonerezhをインストールする方法

  2. Ubuntu14.04VPSにMagento2をインストールします

  3. UbuntuにGravCMSをインストールする