Без Docker, по-старинке.
Установить компоненты для веб-хостинга
sudo apt update && sudo apt install apache2 mariadb-server php php-mysql php-gd php-xml php-json php-curl libapache2-mod-php8.2 phpmyadmin -y
Не факт, что libapache2-mod-php8.2 будет именно версии 8.2. Ориентироваться по ситуации.
Настроить базу данных
sudo mysql -u root
Создать базу данных для Piwigo и нового пользователя
CREATE USER 'piwigouser'@'localhost' IDENTIFIED BY 'piwigopass';
GRANT ALL PRIVILEGES ON piwigo.* TO 'piwigouser'@'localhost';
FLUSH PRIVILEGES;
EXIT;
Распаковать файлы Piwigo
Заранее должно быть скачано с https://piwigo.org/get-piwigo и распаковано на одном из HDD. Но можно всё сделать в консоли.
Снять файлы:
wget https://piwigo.org/download/dlcounter.php?code=latest -O piwigo.zip
Распаковать всё в общий каталог www:
sudo unzip piwigo.zip -d /var/www/html && sudo mv /var/www/html/piwigo /var/www/html/piwigo
Установить права доступа:
sudo chown -R www-data:www-data /var/www/html/piwigo && sudo chmod -R 755 /var/www/html/piwigo
Настроить phpMyAdmin
Сделать линк на phpmyadmin в /usr/share
sudo ln -s /usr/share/phpmyadmin /var/www/html/phpmyadmin && sudo systemctl restart apache2
Установить версию PHP для Apache
sudo apt update sudo apt install -y software-properties-common sudo add-apt-repository ppa:ondrej/php sudo apt update sudo apt install php7.4
Например, PHP у нас 8.2.24. Ориентируемся только по мажорным версиям.
Если ранее была установлена более старая версия (например, 8.1 или 7.4), её модуль надо сперва отключить. Если не была — проигнорировать эту команду.
sudo a2dismod php7.4
Включить модуль PHP 8.2 в Apache
sudo a2enmod php8.2
После этого надо перезапустить apache
sudo systemctl restart apache2
Настроить phpMyAdmin
Если это первая настройка — скопировать дефолтный набор:
sudo cp /var/www/html/phpmyadmin/config.sample.inc.php /var/www/html/phpmyadmin/config.inc.php
Если нет
sudo mcedit /var/www/html/phpmyadmin/config.inc.php
Основные настройки
<?php /* Servers configuration */ $i = 0; /* Server: localhost [1] */ $i++; $cfg['Servers'][$i]['host'] = 'tower.local'; // или IP вашего MySQL-сервера $cfg['Servers'][$i]['auth_type'] = 'cookie'; // способ аутентификации (cookie предпочтительнее) $cfg['Servers'][$i]['user'] = ''; // имя пользователя, если используется, иначе оставить пустыи $cfg['Servers'][$i]['password'] = ''; // пароль, если используется, иначе оставить пустыи $cfg['Servers'][$i]['AllowNoPassword'] = false; /* phpMyAdmin configuration storage */ $cfg['Servers'][$i]['pmadb'] = 'phpmyadmin'; // имя базы данных для хранения данных конфигурации $cfg['blowfish_secret'] = 'random_secret_key_here'; // сгенерировать уникальный
Создать секретный ключ
openssl rand -base64 32
Перезапустить Апач
sudo systemctl restart apache2
Открыть в браузере
http://tower.local/phpmyadmin/
phpMyAdmin должен работать.
piwigouser/piwigopass
Настроить Apache
Настроить доступ к phpMyAdmin
sudo ln -s /usr/share/phpmyadmin /var/www/html/phpmyadmin
Сделать файл конфигурации Apache для Piwigo
sudo mcedit /etc/apache2/sites-available/piwigo.conf
Вставить:
<VirtualHost *:80>
ServerAdmin astenix@testitquickly.com
DocumentRoot /var/www/html/piwigo
ServerName piwigo.local
<Directory /var/www/html/piwigo>
AllowOverride All
Require all granted
</Directory>
ErrorLog ${APACHE_LOG_DIR}/piwigo_error.log
CustomLog ${APACHE_LOG_DIR}/piwigo_access.log combined
</VirtualHost>
Уточнить
ServerName piwigo.local
Если надо открывать сайт через другой порт — уточнить это в первой строке:
<VirtualHost *:8002>
Активировать конфигурацию сайта и перезапустить Apache
sudo a2ensite piwigo && sudo a2enmod rewrite && sudo systemctl restart apache2
sudo systemctl restart apache2
systemctl reload apache2
Выполнить установку Piwigo
Открыть в браузере
http://tower.local/piwigo/install.php
Хост MySQL piwigo.local
Пользователь piwigouser
Пароль piwigopass
Имя базы данных piwigo
Префикс таблиц в базе данных piw
Имя пользователя Alexei
Пароль piwigopass
Адрес электронной почты mail@tower.local
Дать доступ своему юзеру в каталог для импорта
sudo chown -R astenix:users /var/www/html/piwigo/galleries && sudo chmod -R 777 /var/www/html/piwigo/galleries
Внимание: имена папок и файлов должны содержать только латинские буквы, цифры, "-", "_" или ".". Не используйте пробелы и спецсимволы.
Когда файлы правильно размещены в папках, выберите: Администрирование » Инструменты » Синхронизация
sudo chmod -R 755 /var/www/html/piwigo/galleries
sudo chown -R www-data:users /var/www/html/piwigo/galleries
sudo systemctl restart apache2