Nextcloud — это клиент-серверное программное обеспечение, написанное на PHP и Javascript, которое хранит данные. Его функциональность аналогична функциональности Dropbox, Google Drive и Office 365. Nextcloud использует MySQL, PostgreSQL или SQLite для хранения данных. Он может быть установлен в различных операционных системах и предлагает множество функций, таких как многофакторная аутентификация, возможности мониторинга, полнотекстовый поиск и т.д. В этом сообщении блога мы шаг за шагом объясним, как установить Nextcloud и стек LAMP на Ubuntu 24.04.
Предварительные условия
- Сервер под управлением Ubuntu 24.04 или любой другой ОС Linux.
- Привилегии пользователя: пользователь root или не root с привилегиями sudo.
Конвенции
# — данные команды должны выполняться с правами root либо непосредственно от имени пользователя root, либо с помощью команды sudo.
$ – данные команды должны выполняться от имени обычного пользователя
Шаг 1. Обновите систему
Мы предполагаем, что у вас установлена новая версия Ubuntu 24.04. Нам необходимо обновить системные пакеты до последних доступных версий. Для этого выполните следующие команды:
sudo apt update -y && sudo apt upgrade -y
Шаг 2. Установите стек LAMP
Первой установкой стека LAMP будет веб-сервер Apache. Чтобы установить Apache, выполните следующую команду:
sudo apt install apache2 -y
После установки запустите и включите службу:
sudo systemctl start apache2 && sudo systemctl enable apache2
Если все в порядке, проверьте статус услуги:
sudo systemctl status apache2
Вы должны получить вывод, подобный этому:
root@host:~# sudo systemctl status apache2
● apache2.service - The Apache HTTP Server
Loaded: loaded (/usr/lib/systemd/system/apache2.service; enabled; preset: enabled)
Active: active (running) since Wed 2024-05-01 06:24:38 CDT; 6s ago
Docs: https://httpd.apache.org/docs/2.4/
Main PID: 99023 (apache2)
Tasks: 6 (limit: 4624)
Memory: 13.7M (peak: 14.1M)
CPU: 161ms
CGroup: /system.slice/apache2.service
├─99023 /usr/sbin/apache2 -k start
├─99032 /usr/sbin/apache2 -k start
├─99033 /usr/sbin/apache2 -k start
├─99034 /usr/sbin/apache2 -k start
├─99035 /usr/sbin/apache2 -k start
└─99037 /usr/sbin/apache2 -k start
May 01 06:24:38 host.test.vps systemd[1]: Starting apache2.service - The Apache HTTP Server...
Далее мы установим сервер базы данных MariaDB. Выполните команду ниже:
sudo apt install mariadb-server -y
После установки сервера MariaDB нам нужно запустить и включить службу:
sudo systemctl start mariadb && sudo systemctl enable mariadb
Чтобы проверить статус службы, выполните следующую команду:
sudo systemctl status mariadb
Вы должны получить вывод, подобный этому:
root@host:~# sudo systemctl status mariadb
● mariadb.service - MariaDB 10.11.6 database server
Loaded: loaded (/usr/lib/systemd/system/mariadb.service; enabled; preset: enabled)
Active: active (running) since Wed 2024-05-01 06:40:06 CDT; 49s ago
Docs: man:mariadbd(8)
https://mariadb.com/kb/en/library/systemd/
Main PID: 100980 (mariadbd)
Status: "Taking your SQL requests now..."
Tasks: 10 (limit: 4624)
Memory: 78.4M (peak: 81.6M)
CPU: 1.024s
CGroup: /system.slice/mariadb.service
└─100980 /usr/sbin/mariadbd
Последней частью стека LAMP будет PHP8.3 вместе с его расширениями. Чтобы установить PHP8.3, выполните команду ниже:
sudo apt install php8.3 libapache2-mod-php php8.3-common php8.3-cli php8.3-mbstring php8.3-bcmath php8.3-fpm php8.3-mysql php8.3-zip php8.3-gd php8.3-curl php8.3-xml -y
После установки вы можете проверить версию PHP с помощью команды ниже:
php -v
Вы должны получить следующий вывод:
root@host:~# php -v
PHP 8.3.0-1ubuntu1 (cli) (built: Jan 19 2024 14:00:34) (NTS)
Copyright (c) The PHP Group
Zend Engine v4.3.0, Copyright (c) Zend Technologies
with Zend OPcache v8.3.0-1ubuntu1, Copyright (c), by Zend Technologies
Шаг 3. База данных и пользователь Nextcloud
Далее мы создадим базу данных nextcloud_db
и пользователя nextcloud
и назначим привилегии этому пользователю и базе данных.
Итак, заходим в консоль MariaDB:
sudo mysql -u root -p
Теперь создайте новую базу данных:
CREATE DATABASE nextcloud_db;
Вы также можете присвоить ему другое имя.
Создайте нового пользователя, чтобы избежать работы с пользователем root.
CREATE USER 'nextcloud'@'localhost' identified by 'YourStrongPasswordHere';
Конечно, вы можете изменить имя пользователя и значение пароля.
Установите соответствующие разрешения для новой базы данных для пользователя.
GRANT ALL PRIVILEGES ON nextcloud_db.* TO 'nextcloud'@'localhost';
Обновите разрешения и выйдите из консоли.
FLUSH PRIVILEGES;
EXIT;
Шаг 4. Загрузите Nextcloud
Стек LAMP готов, база данных создана. Теперь нам нужно загрузить последнюю версию Nextcloud и поместить ее в корень документа Apache.
Но сначала установите пакеты unzip
и wget
, чтобы иметь возможность загружать и распаковывать Nextcloud.
sudo apt install unzip wget -y
Теперь выполните загрузку:
cd /tmp/
wget https://download.nextcloud.com/server/releases/latest.zip
Теперь разархивируйте загруженный файл:
unzip latest.zip
Переместите его в папку /var/www/html/
, которая является путем по умолчанию для Apache DocumentRoot.
sudo mv nextcloud/ /var/www/html/
Сделайте пользователя www:data
владельцем папки и установите соответствующие разрешения.
sudo chown -R www-data:www-data /var/www/html/nextcloud
sudo chmod -R 755 /var/www/html/nextcloud
Шаг 5. Создайте файл виртуального хоста Apache
Следующее — создать файл виртуального хоста Apache для сервера файлов Nextcloud, чтобы мы могли получить к нему доступ через доменное имя:
touch /etc/apache2/sites-available/nextcloud.conf
Откройте созданный файл в вашем любимом редакторе и вставьте следующие строки кода:
<VirtualHost *:80>
DocumentRoot "/var/www/html/nextcloud"
ServerName yourdomain.com
ErrorLog /var/log/apache2/nextcloud-error.log
CustomLog /var/log/apache2/nextcloud-access.log combined
<Directory /var/www/html/nextcloud/>
Require all granted
Options FollowSymlinks MultiViews
AllowOverride All
</Directory>
</VirtualHost>
Сохраните файл, закройте его и включите веб-сайт.
a2ensite nextcloud.conf
Затем включите необходимые модули Apache с помощью следующей команды:
a2enmod rewrite headers env dir mime setenvif ssl
Проверьте синтаксис Apache:
apachectl -t
Если все в порядке, вы должны получить следующий вывод:
root@host:# apachectl -t
Syntax OK
Перезапустите веб-сервер Apache:
sudo systemctl restart apache2
Шаг 6. Завершите установку Nextcloud
Теперь вы можете открыть веб-браузер и войти в систему через http://yourdomain.com
Там вам нужно будет создать пользователя-администратора, который является наиболее важным. Далее вам нужно будет настроить параметры базы данных
Затем вам будут показаны некоторые рекомендуемые приложения, а затем экран входа в систему.
После входа в систему вы увидите экран приветствия.
Поздравляем! Вы успешно установили Nextcloud на Ubuntu 24.04.
Если вам понравился этот пост о том, как установить Nextcloud на Ubuntu 24.04, поделитесь им с друзьями в социальных сетях или просто оставьте комментарий ниже. Спасибо.