NextCloud : Install2023/08/03 |
Install NextCloud which is the Cloud Storage System.
|
|
[1] | |
[2] |
Configure SSL/TLS for Apache2.
HTTPS connection is required when httpd Chat, Camera, Screen Sharing features and so on. |
[3] | |
[4] | |
[5] | Install other required PHP modules. |
root@dlp:~#
apt -y install php8.2-mbstring php8.2-intl php8.2-gd php8.2-zip php8.2-bz2 php8.2-mysql php8.2-bcmath php8.2-gmp php8.2-opcache php8.2-imagick php8.2-curl php8.2-soap php8.2-redis php-apcu php-pear php-json unzip imagemagick libmagickcore-6.q16-6-extra redis-server unzip
root@dlp:~#
vi /etc/php/8.2/fpm/pool.d/nextcloud.conf ;; create new
[nextcloud]
user = www-data
group = www-data
listen.owner = www-data
listen.group = www-data
listen = /run/php/nextcloud.sock
listen.allowed_clients = 127.0.0.1
pm = dynamic
pm.max_children = 50
pm.start_servers = 5
pm.min_spare_servers = 5
pm.max_spare_servers = 35
env[HOSTNAME] = $HOSTNAME
env[PATH] = /usr/local/bin:/usr/bin:/bin
env[TMP] = /tmp
env[TMPDIR] = /tmp
env[TEMP] = /tmp
php_value[session.save_handler] = files
php_value[session.save_path] = /var/lib/php/sessions
;; maybe you need to configure parameters below if users want to upload large files
php_value[max_execution_time] = 3600
php_value[memory_limit] = 2G
php_value[post_max_size] = 2G
php_value[upload_max_filesize] = 2G
php_value[max_input_time] = 3600
php_value[max_input_vars] = 2000
php_value[date.timezone] = Asia/Tokyo
php_value[opcache.memory_consumption] = 128
php_value[opcache.interned_strings_buffer] = 32
php_value[opcache.max_accelerated_files] = 10000
php_value[opcache.revalidate_freq] = 1
php_value[opcache.save_comments] = 1
php_value[opcache.jit] = 1255
php_value[opcache.jit_buffer_size] = 128M
systemctl restart php8.2-fpm |
[6] | Create a User and Database on MariaDB for NextCloud. |
root@dlp:~# mysql Welcome to the MariaDB monitor. Commands end with ; or \g. Your MariaDB connection id is 37 Server version: 10.11.3-MariaDB-1 Debian 12 Copyright (c) 2000, 2018, Oracle, MariaDB Corporation Ab and others. Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. MariaDB [(none)]> create database nextcloud; Query OK, 1 row affected (0.00 sec) MariaDB [(none)]> grant all privileges on nextcloud.* to nextcloud@'localhost' identified by 'password'; Query OK, 0 rows affected (0.00 sec) MariaDB [(none)]> exit Bye |
[7] | Configure Apache2 for NextCloud. |
root@dlp:~#
vi /etc/apache2/sites-available/nextcloud.conf Timeout 3600 ProxyTimeout 3600 DirectoryIndex index.php index.html Header set Strict-Transport-Security "max-age=15768000; includeSubDomains; preload" <VirtualHost *:80> DocumentRoot /var/www/nextcloud ServerName dlp.srv.world </VirtualHost> <VirtualHost *:443> DocumentRoot /var/www/nextcloud ServerName dlp.srv.world SSLEngine on SSLCertificateFile /etc/letsencrypt/live/dlp.srv.world/cert.pem SSLCertificateKeyFile /etc/letsencrypt/live/dlp.srv.world/privkey.pem SSLCertificateChainFile /etc/letsencrypt/live/dlp.srv.world/chain.pem </VirtualHost> <Directory "/var/www/nextcloud"> Options FollowSymLinks MultiViews AllowOverride All Require all granted <FilesMatch \.(php|phar)$> SetHandler "proxy:unix:/run/php/nextcloud.sock|fcgi://localhost" </FilesMatch> </Directory> wget https://download.nextcloud.com/server/releases/latest.zip -P /var/www/ root@dlp:~# unzip /var/www/latest.zip -d /var/www/ root@dlp:~# chown -R www-data:www-data /var/www/nextcloud root@dlp:~# a2ensite nextcloud root@dlp:~# a2enmod headers root@dlp:~# a2enmod rewrite root@dlp:~# systemctl restart apache2 |
[8] | Access to the virtual host URL you set on Apache2 with web browser from any client computer, then following screen is displayed. Configure Administrative user account and Database connection information. Input any admin user name and password. For Database, specify MariaDB user and database you added on [6]. That's OK, Click [Finish Setup]. |
[9] | If you like to install recommended applications, Click [Install ***] button. |
[10] | After recommended apps successfully installed, NextCloud start page is displayed. |
[11] | After finishing setup, it's possible to access to NextCloud to the same URL with initial setup. |
[12] | This is the Nextcloud start page. |
[13] | After initial setup, configure memory cache and [default_phone_region] value that are the NextCloud recommended requirements. |
root@dlp:~#
vi /var/www/nextcloud/config/config.php ..... ..... // add a line in the section // replace [default_phone_region] value to your own region (ISO 3166-1) 'installed' => true, 'memcache.local' => '\OC\Memcache\APCu', 'default_phone_region' => 'JP', 'maintenance_window_start' => 1, 'memcache.locking' => '\OC\Memcache\Redis', 'memcache.distributed' => '\OC\Memcache\Redis', 'redis' => array( 'host' => 'localhost', 'port' => 6379, 'timeout' => 0.0, ), );root@dlp:~# sudo -u www-data php --define apc.enable_cli=1 /var/www/nextcloud/occ db:add-missing-indices Adding additional mail_messages_strucanalyz_idx index to the oc_mail_messages table, this can take some time... oc_mail_messages table updated successfully. Adding additional mail_class_creat_idx index to the oc_mail_classifiers table, this can take some time... oc_mail_classifiers table updated successfully. Adding additional mail_acc_prov_idx index to the oc_mail_accounts table, this can take some time... oc_mail_accounts table updated successfully. Adding additional mail_alias_accid_idx index to the oc_mail_aliases table, this can take some time... oc_mail_aliases table updated successfully. Adding additional mail_messages_mb_id_uid_uidx index to the oc_mail_messages table, this can take some time... Removing mail_messages_mb_id_uid index from the oc_mail_messages table oc_mail_messages table updated successfully. Adding additional mail_smime_certs_uid_email_idx index to the oc_mail_smime_certificates table, this can take some time... Removing mail_smime_certs_uid_idx index from the oc_mail_smime_certificates table oc_mail_smime_certificates table updated successfully. Adding additional mail_trusted_senders_idx index to the oc_mail_trusted_senders table, this can take some time... Removing mail_trusted_senders_type index from the oc_mail_trusted_senders table oc_mail_trusted_senders table updated successfully. Adding additional mail_coll_idx index to the oc_mail_coll_addresses table, this can take some time... Removing mail_coll_addr_userid_index index from the oc_mail_coll_addresses table Removing mail_coll_addr_email_index index from the oc_mail_coll_addresses table oc_mail_coll_addresses table updated successfully.root@dlp:~# systemctl reload php8.2-fpm |
Sponsored Link |