Добрый день всем, кто оказался на данном сайте. У вас наверняка есть множество файлов, которые вам периодически нужны. Это может быть связано как с работой, так и по личным причинам. А постоянно носить с собой съемный диск не всегда удобно. Можно воспользоваться и платными средствами облачных хранилищ. Но, они либо ограничены в объеме, либо стоят не дешево. Так не лучше ли поднять свое облачное хранилище? У многих наверняка дома завалялся старенький компьютер который можно под это дело и оформить. Закупаемся жесткими дисками больших объемов и начнем создавать сове облачное хранилище. И так, что нам для этого понадобиться? Ну, с компьютером ясно, без него не куда. Накатываем на него старый добрый Debian и устанавливаем связку LAMP. Все команды и настройки подойдут и для Ubuntu, Linux Mint и так далее. Так что вы можете поднять на любой deb платформе данное облачное хранилище. Переходим в терминал и вводим команду:
sudo apt install apache2 php mariadb-client mariadb-server
После установки стека LAMP нам его нужно настроить. Давайте начнем с настройки Apache. Для этого вводим команду которая отключит список каталогов web сервера:
sudo sed -i "s/Options Indexes FollowSymLinks/Options FollowSymLinks/" /etc/apache2/apache2.conf
Далее нам нужно перезапустить Apache и добавить его в автозагрузку при старте нашей системы, сделать это можно следующими командами:
sudo systemctl restart apache2 && sudo systemctl enable apache2
Теперь переходим к Mariadb, и точно так же перезапустим и добавим в автозапуск:
sudo systemctl restart mariadb && sudo systemctl enable mariadb
По умолчанию в Mariadb пароль отсутствует, по этом при первом запуске ниже приведенной команды при запросе пароля просто нажмите «Enter». После чего установим пароль на Mariadb командой:
sudo mysql_secure_installation
Теперь нам нужно снова перезапустить Mariadb командой:
sudo systemctl restart mariadb
Для корректной работы Nextcloud нужны дополнительный пакеты php. Стоит заметить, php нужен не ниже версии 7.1, учтите это при установке. Давайте установим их командой:
sudo apt install php-mbstring php-xmlrpc php-soap libapache2-mod-php php-apcu php-smbclient php-ldap php-redis php-gd php-xml
После установки всех необходимых пакетов давайте отредактируем конфигурационный файл php. Стоит заметить, путь у вас может отличаться, взависимости от версии php которую вы устанавливали. В этом файле нам нужно отредактировать следующие параметры, привести их к следующему виду:
file_uploads = On
allow_url_fopen = On
memory_limit = 256M
upload_max_filesize = 150M
display_errors = Off
date.timezone = Russia/Moscow
Вводим команду:
sudo nano /etc/php/7.3/apache2/php.ini
При желании в параметре «upload_max_filesize» можно указать больший размер загружаемых файлов.
Теперь давайте создадим базу данных для nextcloud. Не забудьте поменять пароль «1234» на свой, более надежный:
sudo mysql -u root -p
CREATE DATABASE nextcloud;
CREATE USER 'nextclouduser'@'localhost' IDENTIFIED BY '1234';
GRANT ALL ON nextcloud.* TO 'nextclouduser'@'localhost' IDENTIFIED BY '1234' WITH GRANT OPTION;
FLUSH PRIVILEGES;
EXIT;
Ну вот и пришло время установить Nextcloud. Для этого нам нужно его скачать с сайта производителя, так как в репозиториях его нет. Скачивать мы будем в папку «tmp», для этого переходим в нее при помощи команды:
cd /tmp
После того как перешли в папку tmp, приступаем к скачиванию Nextcloud:
wget https://download.nextcloud.com/server/releases/nextcloud-17.0.1.zip
После того как файл скачался, нам нужно его распаковать, это делается командой:
unzip nextcloud-17.0.1.zip
Перемещаем наш распакованный файл в директорию «/var/www/html». Это можно сделать при помощи утилиты «mv».
sudo mv nextcloud /var/www/html/nextcloud/
После перемещения, нам нужно задать права доступа на эту папку. Для этого введите команды:
sudo chown -R www-data:www-data /var/www/html/nextcloud/
sudo chmod -R 755 /var/www/html/nextcloud/
Теперь пришло время создать конфигурационный файл с настройками. В этот файл будет обеспечивать работу пользователей с нашим облаком. Для этого вводим команду и перед вами откроется чистый конфигурационный файл, не пугайтесь, вы не ошиблись командой:
sudo nano /etc/apache2/sites-available/nextcloud.conf
Вписываем в этот конфигурационный файл следующие параметры:
<VirtualHost *:80> ServerAdmin admin@example.com DocumentRoot /var/www/html/nextcloud/ ServerName example.com ServerAlias www.example.com Alias /nextcloud "/var/www/html/nextcloud/" <Directory /var/www/html/nextcloud/> Options +FollowSymlinks AllowOverride All Require all granted <IfModule mod_dav.c> Dav off </IfModule> SetEnv HOME /var/www/html/nextcloud SetEnv HTTP_HOME /var/www/html/nextcloud </Directory> ErrorLog ${APACHE_LOG_DIR}/error.log CustomLog ${APACHE_LOG_DIR}/access.log combined </VirtualHost>
Теперь нам нужно прописать в файле «hosts» следующие параметры «127.0.0.1 example.com». Открываем hosts:
sudo nano /etc/hosts
Ну вот мы почти и подошли к финалу установки nextcloud. Теперь нам нужно активировать некоторые модули, для этого вводим следующие команды последовательно, друг за другом:
sudo a2ensite nextcloud.conf
sudo a2enmod rewrite
sudo a2enmod headers
sudo a2enmod env
sudo a2enmod dir
sudo a2enmod mime
Перезапускаем службу Apache2 командой:
sudo systemctl restart apache2
И пробуем зайти на наш установленный nextcloud, для этого нужно в браузере набрать адрес:
http://example.com
И если все установилось правильно, вы увидите страницу входа. Вводите логин и пароль который мы указывали при создании базы данных и попадаете так сказать в админку, если можно так выразиться. Дальше можно настроить русский язык и все остальное. Так же нужно произвести еще некоторые действия с сервером на котором стоит Nextcloud, но это уже отдельная история.
Материал взят с сайта «Cyber-X.ru»