Nextcloud — это клиент-серверное программное обеспечение, написанное на PHP и Javascript, которое хранит данные. Его функциональность аналогична функциональности Dropbox, Google Drive и Office 365. Nextcloud использует MySQL, PostgreSQL или SQLite для хранения данных. Он может быть установлен в различных операционных системах и предлагает множество функций, таких как многофакторная аутентификация, возможности мониторинга, полнотекстовый поиск и т.д. В этом сообщении блога мы шаг за шагом объясним, как установить Nextcloud и стек LAMP на Ubuntu 24.04.

Предварительные условия

  • Сервер под управлением Ubuntu 24.04 или любой другой ОС Linux.
  • Привилегии пользователя: пользователь root или не root с привилегиями sudo.

Конвенции

1
2
# — данные команды должны выполняться с правами root либо непосредственно от имени пользователя root, либо с помощью команды sudo.
$ – данные команды должны выполняться от имени обычного пользователя

Шаг 1. Обновите систему

Мы предполагаем, что у вас установлена ​​новая версия Ubuntu 24.04. Нам необходимо обновить системные пакеты до последних доступных версий. Для этого выполните следующие команды:

1
sudo apt update -y && sudo apt upgrade -y

Шаг 2. Установите стек LAMP

Первой установкой стека LAMP будет веб-сервер Apache. Чтобы установить Apache, выполните следующую команду:

1
sudo apt install apache2 -y

После установки запустите и включите службу:

1
sudo systemctl start apache2 && sudo systemctl enable apache2

Если все в порядке, проверьте статус услуги:

1
sudo systemctl status apache2

Вы должны получить вывод, подобный этому:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
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. Выполните команду ниже:

1
sudo apt install mariadb-server -y

После установки сервера MariaDB нам нужно запустить и включить службу:

1
sudo systemctl start mariadb && sudo systemctl enable mariadb

Чтобы проверить статус службы, выполните следующую команду:

1
sudo systemctl status mariadb

Вы должны получить вывод, подобный этому:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
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, выполните команду ниже:

1
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 с помощью команды ниже:

1
php -v

Вы должны получить следующий вывод:

1
2
3
4
5
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:

1
sudo mysql -u root -p

Теперь создайте новую базу данных:

1
CREATE DATABASE nextcloud_db;

Вы также можете присвоить ему другое имя.

Создайте нового пользователя, чтобы избежать работы с пользователем root.

1
CREATE USER 'nextcloud'@'localhost' identified by 'YourStrongPasswordHere';

Конечно, вы можете изменить имя пользователя и значение пароля.

Установите соответствующие разрешения для новой базы данных для пользователя.

1
GRANT ALL PRIVILEGES ON nextcloud_db.* TO 'nextcloud'@'localhost'; 

Обновите разрешения и выйдите из консоли.

1
2
FLUSH PRIVILEGES;
EXIT;

Шаг 4. Загрузите Nextcloud

Стек LAMP готов, база данных создана. Теперь нам нужно загрузить последнюю версию Nextcloud и поместить ее в корень документа Apache.

Но сначала установите пакеты unzip и wget, чтобы иметь возможность загружать и распаковывать Nextcloud.

1
sudo apt install unzip wget -y

Теперь выполните загрузку:

1
2
cd /tmp/
wget https://download.nextcloud.com/server/releases/latest.zip

Теперь разархивируйте загруженный файл:

1
unzip latest.zip

Переместите его в папку /var/www/html/, которая является путем по умолчанию для Apache DocumentRoot.

1
sudo mv nextcloud/ /var/www/html/

Сделайте пользователя www:data владельцем папки и установите соответствующие разрешения.

1
2
sudo chown -R www-data:www-data /var/www/html/nextcloud
sudo chmod -R 755 /var/www/html/nextcloud

Шаг 5. Создайте файл виртуального хоста Apache

Следующее — создать файл виртуального хоста Apache для сервера файлов Nextcloud, чтобы мы могли получить к нему доступ через доменное имя:

1
touch /etc/apache2/sites-available/nextcloud.conf

Откройте созданный файл в вашем любимом редакторе и вставьте следующие строки кода:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
<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>

Сохраните файл, закройте его и включите веб-сайт.

1
a2ensite nextcloud.conf

Затем включите необходимые модули Apache с помощью следующей команды:

1
a2enmod rewrite headers env dir mime setenvif ssl

Проверьте синтаксис Apache:

1
apachectl -t

Если все в порядке, вы должны получить следующий вывод:

1
2
root@host:# apachectl -t
Syntax OK

Перезапустите веб-сервер Apache:

1
sudo systemctl restart apache2

Шаг 6. Завершите установку Nextcloud

Теперь вы можете открыть веб-браузер и войти в систему через http://yourdomain.com

Там вам нужно будет создать пользователя-администратора, который является наиболее важным. Далее вам нужно будет настроить параметры базы данных

Затем вам будут показаны некоторые рекомендуемые приложения, а затем экран входа в систему.

После входа в систему вы увидите экран приветствия.

Поздравляем! Вы успешно установили Nextcloud на Ubuntu 24.04.

Если вам понравился этот пост о том, как установить Nextcloud на Ubuntu 24.04, поделитесь им с друзьями в социальных сетях или просто оставьте комментарий ниже. Спасибо.