ставим чистый Debian 12.5 без графической оболочки, выбираем только основные утилиты (ну а вообще по желанию)
образ скачивал тут
!!! ВНИМАНИЕ !!!
я всё делаю под root - по причине того что я делаю всё в виртуальной машине и делаю периодические снимки, для откатов при ошибках тотальных - что быстрее и проще при обучении. просьба на этот момент не указывать - знаю что так НЕ надо делать - Вы можете делать под простым пользователем - добавляя везде sudo
по этой ссылке
https://cdimage.debian.org/debian-cd/current/amd64/iso-cd/debian-12.5.0-amd64-netinst.iso
ставим ssh сервер
apt install openssh-server -y
включаем root доступ через ssh
nano /etc/ssh/sshd_config
перезапускаем ssh-сервер
systemctl restart ssh
проверяем статус ssh-сервера
systemctl status ssh
проверяем версию ssh-сервера (так чисто для информации - можно не делать)
ssh -V
обновляем всё (я часто обновляю -параноик - вы решайте что вам лучше)
apt update && apt upgrade -y
ставим Nginx, MariaDB и PHP
ставим Nginx
apt update && apt install -y nginx
ставим MariaDB
apt install -y mariadb-server && apt install -y mariadb-client
ставим unzip
apt-get install unzip
преднастраиваем базу данных
mysql_secure_installation
задаем пароль тут
отвечаем так
тестируем соединение с SQL-сервером
mysql -u root -p
вводим пароль
выходим из SQL
quit
добавляем репозиторий с PHP
apt install -y software-properties-common && add-apt-repository ppa:ondrej/php && apt update
wget -O /etc/apt/trusted.gpg.d/php.gpg https://packages.sury.org/php/apt.gpg
echo "deb https://packages.sury.org/php/ $(lsb_release -sc) main" | tee /etc/apt/sources.list.d/php.list
обновляем всё
apt update && apt upgrade -y
после обновления репозиториев, скачиваем PHP-библиотеки
apt install -y php7.4-fpm php7.4-imagick php7.4-common php7.4-mysql php7.4-gmp php7.4-imap php7.4-json php7.4-pgsql php7.4-ssh2 php7.4-sqlite3 php7.4-ldap php7.4-curl php7.4-intl php7.4-mbstring php7.4-xmlrpc php7.4-gd php7.4-xml php7.4-cli php7.4-zip
настраивем конфигурационный файл php7.4-mfp
nano /etc/php/7.4/fpm/php.ini
ищем через поиск и меняем параметры
file_uploads = On
allow_url_fopen = On
short_open_tag = On
memory_limit = 256M
upload_max_filesize = 100M
max_execution_time = 360
создем БД для owncloud
mysql -u root -p
создем базу
CREATE DATABASE owncloud;
создем пользователя ownclouduser с паролем 12345678 - пользователя - можно изменить, пароль можно (нужно) поменять ))))
CREATE USER 'ownclouduser'@'localhost' IDENTIFIED BY '12345678';
даем все права на БД owncloud пользователю ownclouduser
GRANT ALL ON owncloud.* TO 'ownclouduser'@'localhost' WITH GRANT OPTION;
применяем изменения
FLUSH PRIVILEGES;
выхоим из SQL
EXIT;
ставим OwnCloud
устанавливаем curl
apt install curl -y
добавляем репозиторий
echo 'deb http://download.opensuse.org/repositories/isv:/ownCloud:/server:/10/Debian_12/ /' | tee /etc/apt/sources.list.d/isv:ownCloud:server:10.list
устанавливаем ключ
curl -fsSL https://download.opensuse.org/repositories/isv:ownCloud:server:10/Debian_12/Release.key | gpg --dearmor | tee /etc/apt/trusted.gpg.d/isv_ownCloud_server_10.gpg > /dev/null
обновляем репозитории
apt update
устанавливаем owncloud
apt install owncloud-complete-files -y
даем права Nginx
chown -R www-data:www-data /var/www/owncloud/
chmod -R 755 /var/www/owncloud/
создаем конфигурационный файл для owncloud
nano /etc/nginx/sites-available/owncloud.conf
вставляем туда это
upstream php-handler {
server unix:/var/run/php/php7.4-fpm.sock;
}
server {
listen 80;
listen [::]:80;
root /var/www;
index index.php index.html index.htm;
server_name 192.168.3.8; # Указать нужно IP-адрес вашего сервера
location ^~ /owncloud {
client_max_body_size 512M;
fastcgi_buffers 8 4K;
fastcgi_ignore_headers X-Accel-Buffering;
gzip off;
error_page 403 /owncloud/core/templates/403.php;
error_page 404 /owncloud/core/templates/404.php;
location /owncloud {
rewrite ^ /owncloud/index.php$uri;
}
location ~ ^/owncloud/(?:build|tests|config|lib|3rdparty|templates|changelog|data)/ {
return 404;
}
location ~ ^/owncloud/(?:\.|autotest|occ|issue|indie|db_|console|core/skeleton/) {
return 404;
}
location ~ ^/owncloud/core/signature\.json {
return 404;
}
location ~ ^/owncloud/(?:index|remote|public|cron|core/ajax/update|status|ocs/v[12]|updater/.+|oc[sm]-provider/.+|core/templates/40[34])\.php(?:$|/) {
fastcgi_split_path_info ^(.+\.php)(/.*)$;
include fastcgi_params;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
fastcgi_param SCRIPT_NAME $fastcgi_script_name;
fastcgi_param PATH_INFO $fastcgi_path_info;
fastcgi_param modHeadersAvailable true;
fastcgi_read_timeout 180;
fastcgi_pass php-handler;
fastcgi_intercept_errors on;
fastcgi_request_buffering off;
}
location ~ ^/owncloud/(?:updater|oc[sm]-provider)(?:$|/) {
try_files $uri $uri/ =404;
index index.php;
}
# Adding the cache control header for js and css files
# Make sure it is BELOW the PHP block
location ~ /owncloud/.*\.(?:css|js) {
try_files $uri /owncloud/index.php$uri$is_args$args;
add_header Cache-Control "max-age=15778463" always;
add_header X-Content-Type-Options "nosniff" always;
add_header X-Frame-Options "SAMEORIGIN" always;
add_header X-XSS-Protection "1; mode=block" always;
add_header X-Robots-Tag "none" always;
add_header X-Download-Options "noopen" always;
add_header X-Permitted-Cross-Domain-Policies "none" always;
access_log off;
}
location ~ /owncloud/.*\.(?:svg|gif|png|html|ttf|woff|ico|jpg|jpeg|map|json) {
try_files $uri /owncloud/index.php$uri$is_args$args;
add_header Cache-Control "public, max-age=7200" always;
access_log off;
}
}
}
создаем симлинк
ln -s /etc/nginx/sites-available/owncloud.conf /etc/nginx/sites-enabled/
перезапускаем Nginx
systemctl restart nginx.service
заходим по адресу (у Вас свой)
заканчиваем настройку owncloud
пока писал пост - устанавливал параллельно - так что всё работает - проверено )))
при установке использовал материал отсюда https://1cloud.ru/help/linux/ustanovka-owncloud-na-linux