Установка NextСloud на Ubuntu 16.04 server
Установка и настройка Nextcloud в Ubuntu 16.04
Nextcloud installation guide
Клонировать контейнер
# lxc-clone -o xenial_lxc -n nextcloud
Сразу настроим проброс в контейнер папки хоста
# nano /var/lib/lxc/nextcloud/config
Добавим (до старта контейнера, если включен именно poweroff, а не reboot!)
lxc.mount = /var/lib/lxc/nextcloud/fstab
Сохранить
# nano /var/lib/lxc/nextcloud/fstab
Добавим
/mnt/sdc/nextcloud mnt/data none bind,create=dir
Сохранить
Старт контейнера
# lxc-start -n nextcloud -d
Посмотреть ip
# lxc-ls -f
Зайти по ssh
# ssh ubuntu@192.168.0.115
$ sudo -i
# dpkg-reconfigure tzdata
# apt-get install mc nano wget -y
# apt update -y && apt upgrade -y
# apt install apache2 mariadb-server libapache2-mod-php -y
# apt install php-gd php-json php-mysql php-curl php-zip php-bz2 libxml2-dev php-dom php-xmlwriter php-xmlreader php-xml php-mbstring php-ldap -y
# apt install php-intl php-mcrypt php-imagick -y
!!!# apt install unzip -y
# cd /var/www
# wget https://download.nextcloud.com/server/releases/latest.zip
# unzip latest.zip
!!!# chown -R www-data:www-data /var/www/html/nextcloud
# nano /tmp/nextcloud.sh
#!/bin/bash
ocpath='/var/www/nextcloud'
htuser='www-data'
htgroup='www-data'
rootuser='root'
printf "Creating possible missing Directories\n"
mkdir -p $ocpath/data
mkdir -p $ocpath/assets
mkdir -p $ocpath/updater
printf "chmod Files and Directories\n"
find ${ocpath}/ -type f -print0 | xargs -0 chmod 0640
find ${ocpath}/ -type d -print0 | xargs -0 chmod 0750
chmod 755 ${ocpath}
printf "chown Directories\n"
chown -R ${rootuser}:${htgroup} ${ocpath}/
chown -R ${htuser}:${htgroup} ${ocpath}/apps/
chown -R ${htuser}:${htgroup} ${ocpath}/assets/
chown -R ${htuser}:${htgroup} ${ocpath}/config/
chown -R ${htuser}:${htgroup} ${ocpath}/data/
chown -R ${htuser}:${htgroup} ${ocpath}/themes/
chown -R ${htuser}:${htgroup} ${ocpath}/updater/
chmod +x ${ocpath}/occ
printf "chmod/chown .htaccess\n"
if [ -f ${ocpath}/.htaccess ]
then
chmod 0644 ${ocpath}/.htaccess
chown ${rootuser}:${htgroup} ${ocpath}/.htaccess
fi
if [ -f ${ocpath}/data/.htaccess ]
then
chmod 0644 ${ocpath}/data/.htaccess
chown ${rootuser}:${htgroup} ${ocpath}/data/.htaccess
fi
Сохранить.
# bash /tmp/nextcloud.sh
# nano /etc/apache2/sites-available/nextcloud.conf
<IfModule mod_ssl.c>
<VirtualHost _default_:443>
ServerAdmin admin@local
ServerName nextcloud
DocumentRoot /var/www/html
Alias /nextcloud "/var/www/nextcloud/"
<Directory /var/www/nextcloud/>
Options +FollowSymlinks
AllowOverride All
<IfModule mod_dav.c>
Dav off
</IfModule>
SetEnv HOME /var/www/html
SetEnv HTTP_HOME /var/www/html
</Directory>
<IfModule mod_headers.c>
Header always set Strict-Transport-Security "max-age=15768000; preload"
</IfModule>
SSLEngine on
SSLCertificateFile /etc/ssl/certs/ssl-cert-snakeoil.pem
SSLCertificateKeyFile /etc/ssl/private/ssl-cert-snakeoil.key
</VirtualHost>
</IfModule>
Сохранить.
# a2dissite 000-default.conf
# a2ensite nextcloud
# a2enmod rewrite
# a2enmod headers env dir mime
# a2enmod setenvif
# nano /etc/php/7.0/apache2/php.ini
Закоментировать:
;upload_max_filesize = 2M;max_file_uploads = 20
Добавить в конец:
opcache.enable=1
opcache.enable_cli=1
opcache.interned_strings_buffer=8
opcache.max_accelerated_files=10000
opcache.memory_consumption=128
opcache.save_comments=1
opcache.revalidate_freq=1
Сохранить.
!!!# service apache2 restart
http://192.168.0.115/nextcloud/
# a2enmod ssl
# a2dissite default-ssl.conf
# service apache2 restart
https://192.168.0.115/nextcloud/
!!!https://192.168.1.123/nextcloud/
!!!http://192.168.1.123/nextcloud/
# mysql_secure_installationНа все Y по умолчанию!
# mysql -u root -p
Enter password:
Welcome to the MariaDB monitor. Commands end with ; or \g.
Your MariaDB connection id is 50
Server version: 10.0.29-MariaDB-0ubuntu0.16.04.1 Ubuntu 16.04
Copyright (c) 2000, 2016, 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 ON nextcloud.* to 'nextcloud'@'localhost' IDENTIFIED BY 'password';
Query OK, 0 rows affected (0.00 sec)
MariaDB [(none)]> FLUSH PRIVILEGES;
Query OK, 0 rows affected (0.00 sec)
MariaDB [(none)]> quit
Bye
!!!# mkdir /data
!!!# chown -R www-data:www-data /data
# chown -R www-data:www-data /mnt/data
https://192.168.0.115/nextcloud/
Запускаем браузер и вводим http://ip-server/nextcloud
Задаем логин — Администратора NextCloud сервера
Вводим пароль администратора NextCloud сервера
Указываем место хранения данных, можно оставить по умолчанию и потом изменить.
Пользователь базы данных — NextCloud
Пароль пользователя базы данных (тот, что мы задавали выше при настройке базы данных)
Далее — Завершить установку
# apt install php-memcached memcached
# netstat -tap | grep memcached
tcp 0 0 localhost:11211 *:* LISTEN 17009/memcached
# ps ax | grep memcached
17009 ? Ssl 0:00 /usr/bin/memcached -m 64 -p 11211 -u memcache -l 127.0.0.1
17176 pts/4 S+ 0:00 grep --color=auto memcached
# nano /var/www/nextcloud/config/config.php
Вставить перед конечной );
'logtimezone' => 'Europe/Moscow',
'log_type' => 'owncloud',
'logfile' => 'nextcloud.log',
'memcache.distributed' => '\OC\Memcache\Memcached',
'memcache.local' => '\OC\Memcache\Memcached',
'memcached_servers' => array(
array('localhost', 11211),
),
'memcached_options' => array(
\Memcached::OPT_CONNECT_TIMEOUT => 50,
\Memcached::OPT_RETRY_TIMEOUT => 50,
\Memcached::OPT_SEND_TIMEOUT => 50,
\Memcached::OPT_RECV_TIMEOUT => 50,
\Memcached::OPT_POLL_TIMEOUT => 50,
// Enable compression
\Memcached::OPT_COMPRESSION => true,
// Turn on consistent hashing
\Memcached::OPT_LIBKETAMA_COMPATIBLE => true,
// Enable Binary Protocol
\Memcached::OPT_BINARY_PROTOCOL => true,
),
Сохранить.
# service apache2 restart
https://192.168.1.123/nextcloud/
http://192.168.1.123/nextcloud/
https://192.168.1.123/nextcloud/remote.php/dav/files/user
# apt install fail2ban
# nano /etc/fail2ban/filter.d/nextcloud.conf
Добавим:
[INCLUDES]
before = common.conf
[Definition]
failregex = Login failed.*Remote IP.*'<HOST>'
ignoreregex =
Сохранить.
# nano /etc/fail2ban/jail.d/nextcloud.conf
Добавить.
[nextcloud]
enabled = true
port = http,https
filter = nextcloud
logpath = /data/nextcloud.log
Сохранить.
# service fail2ban restart
nextсloud Защита от подбора пароля с помощью FAIL2BAN
nextcloud-fail2ban
# fail2ban-client status nextcloud
Status for the jail: nextcloud
|- Filter
| |- Currently failed: 1
| |- Total failed: 6
| `- File list: /data/nextcloud.log
`- Actions
|- Currently banned: 1
|- Total banned: 1
`- Banned IP list: 192.168.1.246
How to Integrate OnlyOffice with NextCloud
# fail2ban-client set nextcloud unbanip <Banned IP>
Установка и настройка Nextcloud в Ubuntu 16.04
Nextcloud installation guide
Клонировать контейнер
# lxc-clone -o xenial_lxc -n nextcloud
Сразу настроим проброс в контейнер папки хоста
# nano /var/lib/lxc/nextcloud/config
Добавим (до старта контейнера, если включен именно poweroff, а не reboot!)
lxc.mount = /var/lib/lxc/nextcloud/fstab
Сохранить
# nano /var/lib/lxc/nextcloud/fstab
Добавим
/mnt/sdc/nextcloud mnt/data none bind,create=dir
Сохранить
Старт контейнера
# lxc-start -n nextcloud -d
Посмотреть ip
# lxc-ls -f
Зайти по ssh
# ssh ubuntu@192.168.0.115
$ sudo -i
# dpkg-reconfigure tzdata
# apt-get install mc nano wget -y
# apt update -y && apt upgrade -y
# apt install apache2 mariadb-server libapache2-mod-php -y
# apt install php-gd php-json php-mysql php-curl php-zip php-bz2 libxml2-dev php-dom php-xmlwriter php-xmlreader php-xml php-mbstring php-ldap -y
# apt install php-intl php-mcrypt php-imagick -y
!!!# apt install unzip -y
# cd /var/www
# wget https://download.nextcloud.com/server/releases/latest.zip
# unzip latest.zip
!!!# chown -R www-data:www-data /var/www/html/nextcloud
# nano /tmp/nextcloud.sh
#!/bin/bash
ocpath='/var/www/nextcloud'
htuser='www-data'
htgroup='www-data'
rootuser='root'
printf "Creating possible missing Directories\n"
mkdir -p $ocpath/data
mkdir -p $ocpath/assets
mkdir -p $ocpath/updater
printf "chmod Files and Directories\n"
find ${ocpath}/ -type f -print0 | xargs -0 chmod 0640
find ${ocpath}/ -type d -print0 | xargs -0 chmod 0750
chmod 755 ${ocpath}
printf "chown Directories\n"
chown -R ${rootuser}:${htgroup} ${ocpath}/
chown -R ${htuser}:${htgroup} ${ocpath}/apps/
chown -R ${htuser}:${htgroup} ${ocpath}/assets/
chown -R ${htuser}:${htgroup} ${ocpath}/config/
chown -R ${htuser}:${htgroup} ${ocpath}/data/
chown -R ${htuser}:${htgroup} ${ocpath}/themes/
chown -R ${htuser}:${htgroup} ${ocpath}/updater/
chmod +x ${ocpath}/occ
printf "chmod/chown .htaccess\n"
if [ -f ${ocpath}/.htaccess ]
then
chmod 0644 ${ocpath}/.htaccess
chown ${rootuser}:${htgroup} ${ocpath}/.htaccess
fi
if [ -f ${ocpath}/data/.htaccess ]
then
chmod 0644 ${ocpath}/data/.htaccess
chown ${rootuser}:${htgroup} ${ocpath}/data/.htaccess
fi
Сохранить.
# bash /tmp/nextcloud.sh
# nano /etc/apache2/sites-available/nextcloud.conf
<IfModule mod_ssl.c>
<VirtualHost _default_:443>
ServerAdmin admin@local
ServerName nextcloud
DocumentRoot /var/www/html
Alias /nextcloud "/var/www/nextcloud/"
<Directory /var/www/nextcloud/>
Options +FollowSymlinks
AllowOverride All
<IfModule mod_dav.c>
Dav off
</IfModule>
SetEnv HOME /var/www/html
SetEnv HTTP_HOME /var/www/html
</Directory>
<IfModule mod_headers.c>
Header always set Strict-Transport-Security "max-age=15768000; preload"
</IfModule>
SSLEngine on
SSLCertificateFile /etc/ssl/certs/ssl-cert-snakeoil.pem
SSLCertificateKeyFile /etc/ssl/private/ssl-cert-snakeoil.key
</VirtualHost>
</IfModule>
Сохранить.
# a2dissite 000-default.conf
# a2ensite nextcloud
# a2enmod rewrite
# a2enmod headers env dir mime
# a2enmod setenvif
# nano /etc/php/7.0/apache2/php.ini
Закоментировать:
;upload_max_filesize = 2M;max_file_uploads = 20
Добавить в конец:
opcache.enable=1
opcache.enable_cli=1
opcache.interned_strings_buffer=8
opcache.max_accelerated_files=10000
opcache.memory_consumption=128
opcache.save_comments=1
opcache.revalidate_freq=1
Сохранить.
!!!# service apache2 restart
http://192.168.0.115/nextcloud/
# a2enmod ssl
# a2dissite default-ssl.conf
# service apache2 restart
https://192.168.0.115/nextcloud/
!!!https://192.168.1.123/nextcloud/
!!!http://192.168.1.123/nextcloud/
# mysql_secure_installationНа все Y по умолчанию!
# mysql -u root -p
Enter password:
Welcome to the MariaDB monitor. Commands end with ; or \g.
Your MariaDB connection id is 50
Server version: 10.0.29-MariaDB-0ubuntu0.16.04.1 Ubuntu 16.04
Copyright (c) 2000, 2016, 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 ON nextcloud.* to 'nextcloud'@'localhost' IDENTIFIED BY 'password';
Query OK, 0 rows affected (0.00 sec)
MariaDB [(none)]> FLUSH PRIVILEGES;
Query OK, 0 rows affected (0.00 sec)
MariaDB [(none)]> quit
Bye
!!!# mkdir /data
!!!# chown -R www-data:www-data /data
# chown -R www-data:www-data /mnt/data
https://192.168.0.115/nextcloud/
Запускаем браузер и вводим http://ip-server/nextcloud
Задаем логин — Администратора NextCloud сервера
Вводим пароль администратора NextCloud сервера
Указываем место хранения данных, можно оставить по умолчанию и потом изменить.
Пользователь базы данных — NextCloud
Пароль пользователя базы данных (тот, что мы задавали выше при настройке базы данных)
Далее — Завершить установку
# apt install php-memcached memcached
# netstat -tap | grep memcached
tcp 0 0 localhost:11211 *:* LISTEN 17009/memcached
# ps ax | grep memcached
17009 ? Ssl 0:00 /usr/bin/memcached -m 64 -p 11211 -u memcache -l 127.0.0.1
17176 pts/4 S+ 0:00 grep --color=auto memcached
# nano /var/www/nextcloud/config/config.php
Вставить перед конечной );
'logtimezone' => 'Europe/Moscow',
'log_type' => 'owncloud',
'logfile' => 'nextcloud.log',
'memcache.distributed' => '\OC\Memcache\Memcached',
'memcache.local' => '\OC\Memcache\Memcached',
'memcached_servers' => array(
array('localhost', 11211),
),
'memcached_options' => array(
\Memcached::OPT_CONNECT_TIMEOUT => 50,
\Memcached::OPT_RETRY_TIMEOUT => 50,
\Memcached::OPT_SEND_TIMEOUT => 50,
\Memcached::OPT_RECV_TIMEOUT => 50,
\Memcached::OPT_POLL_TIMEOUT => 50,
// Enable compression
\Memcached::OPT_COMPRESSION => true,
// Turn on consistent hashing
\Memcached::OPT_LIBKETAMA_COMPATIBLE => true,
// Enable Binary Protocol
\Memcached::OPT_BINARY_PROTOCOL => true,
),
Сохранить.
# service apache2 restart
https://192.168.1.123/nextcloud/
http://192.168.1.123/nextcloud/
https://192.168.1.123/nextcloud/remote.php/dav/files/user
# apt install fail2ban
# nano /etc/fail2ban/filter.d/nextcloud.conf
Добавим:
[INCLUDES]
before = common.conf
[Definition]
failregex = Login failed.*Remote IP.*'<HOST>'
ignoreregex =
Сохранить.
# nano /etc/fail2ban/jail.d/nextcloud.conf
Добавить.
[nextcloud]
enabled = true
port = http,https
filter = nextcloud
# maxretry = 3
# bantime = 36000
# findtime = 36000
#logpath = /var/www/nextcloud/nextcloud.loglogpath = /data/nextcloud.log
Сохранить.
# service fail2ban restart
nextсloud Защита от подбора пароля с помощью FAIL2BAN
nextcloud-fail2ban
# fail2ban-client status nextcloud
Status for the jail: nextcloud
|- Filter
| |- Currently failed: 1
| |- Total failed: 6
| `- File list: /data/nextcloud.log
`- Actions
|- Currently banned: 1
|- Total banned: 1
`- Banned IP list: 192.168.1.246
How to Integrate OnlyOffice with NextCloud
# fail2ban-client set nextcloud unbanip <Banned IP>
Комментариев нет:
Отправить комментарий