В этом руководстве вы научитесь устанавливать программное обеспечение NextCloud . Мы будем использовать Caddy для нужд нашего веб-сервера, так как это упрощает настройку и упрощает выдачу SSL-сертификатов. Инструкции в этом руководстве были написаны для NextCloud 12, но могут также работать для более новых версий.
Прежде чем мы начнем, убедитесь, что ваш сервер обновлен, и установите необходимые модули PHP 7.1.
apt-get update
apt-get upgrade -y
apt-get install software-properties-common unzip
PHP 7.1
Установите и настройте PHP 7.1.
apt-get install -y python-software-properties
add-apt-repository -y ppa:ondrej/php
apt-get update -y
apt-get install -y php7.1 php7.1-fpm php7.1-cli php7.1-json php7.1-curl php7.1-imap php7.1-gd php7.1-mysql php7.1-xml php7.1-zip php7.1-intl php7.1-mcrypt php-imagick php7.1-mbstring
Для Caddy мы будем использовать TCP-сокеты вместо Unix-сокетов, так как они более оптимизированы.
Отредактируйте файл /etc/php/7.1/fpm/pool.d/www.conf
в строке 36. Ищите listen = /run/php/php7.1-fpm.sock
. Закомментируйте это и добавьте сокет TCP вместо этого, как показано ниже:
;listen = /run/php/php7.1-fpm.sock
listen = 127.0.0.1:9000
Теперь перезапустите PHP7.1-fpm.
service php7.1-fpm restart
чайница
Далее мы должны установить Caddy.
Запуск сценария установки Caddy автоматически загрузит правильную версию для вашей системы (32 / 64bit) и установит ее.
curl https://getcaddy.com | bash -s personal
Создайте корневой каталог, из которого мы будем обслуживать файлы:
mkdir -p /var/www/nextcloud
Создайте папку /etc/caddy
и файл " Caddyfile
".
mkdir -p /etc/caddy
nano /etc/caddy/Caddyfile
Теперь вставьте следующее содержимое:
your-domain-here.com {
root /var/www/nextcloud
log /var/log/nextcloud_access.log
errors /var/log/nextcloud_errors.log
fastcgi / 127.0.0.1:9000 php {
env PATH /bin
}
rewrite {
r ^/index.php/.*$
to /index.php?{query}
}
# client support (e.g. os x calendar / contacts)
redir /.well-known/carddav /remote.php/carddav 301
redir /.well-known/caldav /remote.php/caldav 301
# remove trailing / as it causes errors with php-fpm
rewrite {
r ^/remote.php/(webdav|caldav|carddav|dav)(\/?)$
to /remote.php/{1}
}
rewrite {
r ^/remote.php/(webdav|caldav|carddav|dav)/(.+?)(\/?)$
to /remote.php/{1}/{2}
}
rewrite {
r ^/public.php/(.+?)(\/?)$
to /public.php/(.+?)(\/?)$
}
# .htaccess / data / config / ... shouldn't be accessible from outside
status 403 {
/.htacces
/data
/config
/db_structure
/.xml
/README
}
header / Strict-Transport-Security "max-age=31536000;"
}
Давайте также превратим Caddy в сервис. Вставьте эти строки в файл /etc/systemd/system/caddy.service
.
[Unit]
Description=Caddy HTTP/2 web server %I
Documentation=https://caddyserver.com/docs
After=network-online.target
Wants=network-online.target
Wants=systemd-networkd-wait-online.service
[Service]
; run user and group for caddy
User=root
Group=root
ExecStart=/usr/local/bin/caddy -agree=true -conf=/etc/caddy/Caddyfile
Restart=on-failure
; create a private temp folder that is not shared with other processes
PrivateTmp=true
; limit the number of file descriptors, see `man systemd.exec` for more limit settings
LimitNOFILE=8192
[Install]
WantedBy=multi-user.target
Включите и запустите сервер Caddy.
systemctl enable caddy.service
systemctl start caddy.service
MariaDB
База данных требуется для установки NextCloud.
Примечание : сохраните и запомните пароль root, который вы выбрали при установке MariaDB!
Выполните следующие команды, чтобы установить MariaDB. Вы можете заменить репозиторий MariaDB другим по вашему выбору.
apt-key adv --recv-keys --keyserver hkp://keyserver.ubuntu.com:80 0xF1656F24C74CD1D8
add-apt-repository 'deb [arch=amd64,i386] http://ftp.utexas.edu/mariadb/repo/10.2/ubuntu zesty main'
apt update
apt install mariadb-server -y
С установленной MariaDB мы должны создать пользователя и базу данных для установки NextCloud.
Запустите эту последовательность команд:
mysql -u root -p
CREATE DATABASE nextcloud;
GRANT ALL PRIVILEGES ON nextcloud.* TO 'exampleUser'@'localhost' IDENTIFIED BY 'securepassword';
FLUSH PRIVILEGES;
exit
NextCloud
Перейдите в корневой каталог, где будет находиться установка, и выполните следующие команды.
cd /var/www/nextcloud
wget https://download.nextcloud.com/server/releases/nextcloud-12.0.0.zip
unzip nextcloud-*
mv nextcloud/* .
chown -R www-data:www-data /var/www/nextcloud
rm -rf nextcloud-*.zip
Теперь посетите ваше доменное имя или IP-адрес, и вы увидите экран установки. Следуйте инструкциям по установке на экране и введите необходимые данные учетной записи администратора, пользователя базы данных, пароль и имя.