Установка Coppermine Photo Gallery на Ubuntu 16.04
Что понадобится
- Сервер с Ubuntu 16.04.
- Ненулевой пользователь с правами sudo.
Коротко о терминах
- LAMP: набор серверных компонентов — Apache (веб-сервер), MariaDB (СУБД), PHP (язык сценариев).
- Virtual host: конфигурация сайта в Apache, указывающая корневую папку и логи.
Установка LAMP (Apache, MariaDB, PHP 7.0)
- Установите Apache:
sudo apt-get install apache2 -y- Запустите и включите службу Apache при загрузке:
sudo systemctl start apache2
sudo systemctl enable apache2- Добавьте репозитории для актуальных версий MariaDB и PHP (в Ubuntu 16.04 репозитории по-умолчанию могут не содержать нужных пакетов):
sudo apt-key adv --recv-keys --keyserver hkp://keyserver.ubuntu.com:80 0xF1656F24C74CD1D8
sudo add-apt-repository ppa:ondrej/php
sudo add-apt-repository 'deb [arch=amd64,i386,ppc64el] http://kartolo.sby.datautama.net.id/mariadb/repo/10.2/ubuntu xenial main'- Обновите индексы пакетов и установите MariaDB и PHP 7.0 с нужными расширениями:
sudo apt-get update -y
sudo apt-get install mariadb-server libapache2-mod-php7.0 php7.0 php7.0-cli php7.0-common php7.0-curl php7.0-gd php7.0-intl php7.0-json php7.0-mysql php7.0-imagic imagemagick -y- Запустите и включите MariaDB:
sudo systemctl start mysql
sudo systemctl enable mysql- Отредактируйте php.ini, чтобы увеличить лимиты и установить часовой пояс (откорректируйте date.timezone под ваш регион):
sudo nano /etc/php/7.0/cli/php.iniВнесите изменения:
max_execution_time = 300
max_input_time = 300
memory_limit = 512M
post_max_size = 32M
upload_max_filesize = 32M
date.timezone = Asia/KolkataСохраните файл и закройте редактор.
Важно: при установке на боевой системе замените date.timezone на ваш локальный часовой пояс, например Europe/Moscow.
Настройка MariaDB для Coppermine
- Запустите скрипт безопасной настройки MariaDB:
sudo mysql_secure_installationОтветьте на вопросы (обычные ответы показаны для примера):
Set root password? [Y/n] Y
New password:
Re-enter new password:
Remove anonymous users? [Y/n] Y
Disallow root login remotely? [Y/n] Y
Remove test database and access to it? [Y/n] Y
Reload privilege tables now? [Y/n] Y- Войдите в shell MariaDB и создайте базу данных и пользователя для Coppermine:
mysql -u root -pВнутри MariaDB выполните команды:
CREATE DATABASE copperminedb;
CREATE USER 'coppermine'@'localhost' IDENTIFIED BY 'password';
GRANT ALL PRIVILEGES ON copperminedb.* TO 'coppermine'@'localhost';
FLUSH PRIVILEGES;
EXITЗамените ‘password’ на надёжный пароль и при необходимости используйте другое имя базы.
Загрузка и установка Coppermine
- Скачайте архив Coppermine (пример для версии 1.5.46):
wget https://excellmedia.dl.sourceforge.net/project/coppermine/Coppermine/1.5.x/cpg1.5.46.zip- Распакуйте архив:
unzip cpg1.5.46.zip- Скопируйте распакованную папку в корень веб-сервера:
sudo cp -r cpg15x /var/www/html/coppermine- Установите владельца и права доступа. По умолчанию пример даёт полные права, но это не безопасно для боевого сервера:
sudo chown -R www-data:www-data /var/www/html/coppermine
sudo chmod -R 777 /var/www/html/coppermineПримечание: chmod 777 упрощает установку, но открывает риски безопасности. После успешной установки замените права на более строгие (например, 755 для директорий и 644 для файлов).
Конфигурация Apache для Coppermine
- Создайте виртуальный хост Apache:
sudo nano /etc/apache2/sites-available/coppermine.confДобавьте конфигурацию (отредактируйте ServerAdmin и ServerName под свой домен):
ServerAdmin [email protected]
DocumentRoot "/var/www/html/coppermine"
ServerName yourdomain.com
Options FollowSymLinks
AllowOverride All
Options MultiViews FollowSymlinks
AllowOverride All
Order allow,deny
Allow from all
TransferLog /var/log/apache2/coppermine_access.log
ErrorLog /var/log/apache2/coppermine_error.log
Сохраните файл и включите сайт:
sudo a2ensite coppermine
sudo systemctl restart apache2Совет: при использовании нескольких сайтов проверьте, что ServerName соответствует DNS-записи и что порт 80 не занят.
Доступ к установщику Coppermine
Откройте браузер и перейдите по адресу:
http://yourdomain.com/install.php
Вы увидите веб-установщик и шаги конфигурации. Следуйте экранным подсказкам. На этапе указания базы данных используйте имя базы, пользователя и пароль, созданные ранее.






Поздравляем — после завершения вы увидите панель управления Coppermine.
Критерии приёмки
- Страница установки доступна по http://yourdomain.com/install.php.
- Установка успешно завершается без ошибок на странице Install.
- Вход в админ-панель выполняется с учётными данными администратора.
- Галерея показывает примеры изображений или позволяет загружать файлы.
Рекомендации по безопасности и производительности
- После настройки замените chmod 777 на безопасные права: директории 755, файлы 644.
- Отключите удалённый вход root в MariaDB (мы делали это в mysql_secure_installation).
- Регулярно выполняйте обновления пакетов и создавайте резервные копии БД и файлов.
- Если сайт будет публичным, настройте HTTPS (Let’s Encrypt) и добавьте правила в .htaccess/конфигурацию Apache для защиты директорий администратора.
Отладка и распространённые ошибки
Ошибка соединения с базой данных:
- Проверьте имя базы, пользователя и пароль.
- Убедитесь, что MariaDB запущена: sudo systemctl status mysql.
Ошибки прав доступа к файлам (невозможно записать конфигурационный файл):
- Проверьте владельца и права: sudo chown -R www-data:www-data /var/www/html/coppermine.
- На время установки можно задать 777, затем вернуть безопасные права.
500 Internal Server Error после перезапуска Apache:
- Проверьте логи: /var/log/apache2/coppermine_error.log и /var/log/apache2/error.log.
- Убедитесь, что модуль PHP подключён (libapache2-mod-php7.0) и что php.ini корректен.
Проблемы с загрузкой изображений или их обработкой:
- Убедитесь, что ImageMagick и расширение imagick установлены и доступ к ним разрешён.
Альтернатива и миграция
- Если вы начинаете новый проект, рассмотрите установку на более новую версию Ubuntu (18.04, 20.04 или 22.04) и более свежую ветку PHP. Coppermine 1.5.x требует PHP 7.x; для PHP 8 может потребоваться портирование/патчи.
- Для управляемых хостингов используйте контейнеризацию (Docker) или готовые образцы LAMP для упрощённого развертывания.
Роли и чек-листы
Администратор сервера:
- Подготовить сервер Ubuntu 16.04 с учётной записью sudo.
- Установить и настроить Apache, MariaDB и PHP.
- Настроить виртуальный хост и HTTPS.
Разработчик/интегратор:
- Проверить совместимость плагинов/тем Coppermine с текущей версией PHP.
- Настроить резервное копирование базы и файлов.
Контент-менеджер:
- Создать первые альбомы и категории.
- Проверить права загрузки и ограничения размеров файлов.
Мини-методология развёртывания
- Подготовка: создать снепшот/резервную копию перед изменениями.
- Установка LAMP и зависимостей.
- Настройка базы и создание пользователя БД.
- Развёртывание Coppermine в /var/www/html.
- Конфигурация Apache и проверка через браузер.
- Закрытие и укрепление прав доступа.
- Документирование и создание плана резервного копирования.
Короткий словарь
- Apache: веб-сервер.
- MariaDB: форк MySQL, реляционная СУБД.
- PHP: язык для серверной логики.
- Virtual host: конфигурация сайта в Apache.
Краткое резюме
Установка Coppermine на Ubuntu 16.04 проходит в несколько этапов: настройка LAMP (Apache, MariaDB, PHP), создание БД и пользователя, копирование файлов Coppermine в корень веб-сервера и конфигурация виртуального хоста Apache. После установки обязательно ужесточите права доступа и настройте HTTPS для публичного сайта.
Дополнительные ресурсы: офиц. документация Coppermine, руководство по Apache и MariaDB для Ubuntu.
Похожие материалы
Несколько аккаунтов Skype: Multi Skype Launcher
Журнал для работы: повысить продуктивность
Персональные звуки уведомлений на Android
Скачивание шоу Hulu для офлайн‑просмотра
Microsoft Start: персонализированная новостная лента