Гид по технологиям

Как бесплатно расшарить фото с домашнего сервера на Ubuntu 12.04 LTS с помощью phpAlbum

9 min read Фото‑сервер Обновлено 28 Nov 2025
Как расшарить фото с домашнего сервера на Ubuntu
Как расшарить фото с домашнего сервера на Ubuntu

Коротко: разверните LAMP на Ubuntu 12.04, настройте SAMBA для общей папки с фотографиями, установите phpAlbum, укажите каталоги данных и кеша, отсканируйте папки — и получите локальный фотосервер для семьи и друзей. В статье есть пошаговая инструкция, чеклисты для ролей, рекомендации по безопасности и варианты миграции на более новые версии Ubuntu.

Важно: Ubuntu 12.04 устарела; инструкция описывает установку на этой версии согласно исходному сценарию, но в конце есть раздел про миграцию и альтернативы для современных систем.

О чём статья и варианты использования

Эта инструкция полезна, если вы хотите:

  • хранить фото под собственным контролем на домашнем сервере;
  • дать доступ семье и друзьям без размещения материалов в социальных сетях;
  • быстро поднять простой фотосайт на phpAlbum и управлять правами доступа.

Варианты, когда это не подходит:

  • если вам нужна интеграция с мобильными синхронизациями и современными API — лучше смотреть Nextcloud или Piwigo;
  • если у вас динамический провайдер с сильно ограниченным портом 80 без возможности проброса — придётся использовать туннели или хостинг.

Краткий обзор терминов

  • LAMP: стек Linux, Apache, MySQL/MariaDB, PHP.
  • SAMBA: протокол для шаринга файлов между Linux и Windows/другими устройствами в локальной сети.
  • SWAT: веб-интерфейс для настройки Samba (иногда конфликтует с современными пакетами).
  • phpAlbum: простая PHP-программа для создания фотогалереи.

Одно предложение по методу

Сначала поднимите LAMP и шаринг папок, затем установите phpAlbum в /usr/local/src, создайте симлинки в /var/www и задайте защищённые каталоги данных и кеша с владельцем www-data.

Требования и подготовка

Необходимое оборудование и настройки:

  1. ПК с Ubuntu 12.04 LTS и установленным LAMP.
  2. Собственный доменный адрес либо no-ip/ddns для внешнего доступа.
  3. Проброшенный порт 80 на маршрутизаторе к серверу Ubuntu.
  4. SAMBA/SWAT установленный на сервере.

Рекомендованные справочные руководства (оригинальные ссылки приведены в исходной инструкции):

  1. Пошаговая установка LAMP для Ubuntu 12.04.
  2. Настройка no-ip для динамического IP.
  3. Перенаправление портов к серверу Ubuntu.
  4. Установка и конфигурация SWAT для Samba.

Примечание: финальный шаг инструкции по SWAT может предлагать вход как «member of the admin group» — можно пропустить и войти в SWAT позже по инструкции ниже.

Создание общих папок для фотографий

Откройте терминал на Ubuntu и выполните следующие шаги.

  1. Создайте пароль для пользователя root (понадобится для входа в SWAT):
sudo passwd

Введите и подтвердите новый пароль root. Можно использовать пароль вашего обычного пользователя Ubuntu, но рекомендуется хранить запись пароля в надёжном месте.

  1. Если у вас установлен пакет libpam-smbpass и он конфликтует со SWAT, удалите его:
sudo apt-get remove libpam-smbpass
  1. Создайте пользователя SAMBA (замените на ваш логин):
sudo smbpasswd -a 

Задайте пароль для SAMBA. Вы будете использовать этот пароль для доступа к общим папкам по сети.

  1. Перезагрузите конфигурацию xinetd, чтобы SWAT подхватил изменения:
sudo dpkg-reconfigure xinetd
  1. Создайте папки для фотографий и скачиваний и выставьте временно широкие права доступа (можно скорректировать позже):
sudo mkdir ~/photos
sudo chmod 777 ~/photos
sudo mkdir ~/downloads
sudo chmod 777 ~/downloads

Пояснение: код 777 даёт чтение, запись и выполнение всем пользователям. Это удобно для обмена в локальной сети, но снижает безопасность. Позже в разделе безопасности описано, как сужать права.

  1. Откройте SWAT в браузере локальной сети: http://<имя_сервера_Ubuntu>:901

Пример: http://ubuntuserver:901

Войдите под именем root и паролем, который вы задали ранее.

  1. В SWAT создайте два шаринга:
  • Пункт Shares → Create Share → заполняем:
    • path: /home//photos
    • valid users:
    • read only: no
    • available: yes

Нажмите Commit changes → Advanced → установите все маски в 0777 → Commit changes.

  • Повторите для папки downloads по тому же алгоритму.

После этого ваша машина должна быть видна в локальной сети, и вы сможете подключаться к шаре, используя учётную запись SAMBA.

Загрузка и установка phpAlbum

На сервере выполните следующие команды:

cd ~/downloads
wget http://www.phpalbum.net/files/phpAlbum_v0.4.1.16.zip

Примечание: лучше проверить на сайте phpalbum наличие более свежей версии. В браузере можно перейти на http://www.phpalbum.net/dw и при необходимости вставить прямую ссылку в wget.

Если вы предпочитаете скачать архив локально, копируйте его в общую папку downloads и продолжайте установку с машины Ubuntu.

Установите unzip, если он отсутствует:

sudo apt-get install unzip

Распакуйте архив в папку исходников веба:

sudo unzip ~/downloads/phpAlbum_v0.4.1.16.zip -d /usr/local/src/www

Создайте рабочий файл конфигурации из примера:

sudo cp /usr/local/src/www/phpAlbum_v0.4.1.16/config_change_it.php /usr/local/src/www/phpAlbum_v0.4.1.16/config.php

Отредактируйте файл конфигурации с помощью nano:

sudo nano /usr/local/src/www/phpAlbum_v0.4.1.16/config.php

В файле найдите строку:

$data_dir="data/";

и измените её на уникальную директорию, чтобы усложнить неавторизованный доступ к данным. Например:

$data_dir="data_xyz34jk/";

Где xyz34jk — ваша уникальная случайная последовательность символов. Запишите её — она понадобится при дальнейшей настройке.

Сохраните изменения в nano: Ctrl+X, затем Y и Enter.

Создайте символьную ссылку в /var/www для упрощения размещения сайта:

cd /var/www/
sudo ln -s /usr/local/src/www/phpAlbum_v0.4.1.16 phpAlbum

Создайте вторую ссылку с маленькой буквы, чтобы избежать проблем с регистром:

sudo ln -s phpAlbum phpalbum

Создайте каталоги данных и кеша, назначьте владельцем www-data и ограничьте права доступа:

sudo mkdir /data_xyz34jk
sudo mkdir /cache_xyz34jk
sudo chown www-data /data_xyz34jk
sudo chown www-data /cache_xyz34jk
sudo chmod 0700 /data_xyz34jk
sudo chmod 0700 /cache_xyz34jk

Не забудьте заменить xyz34jk на вашу уникальную строку.

Теперь создайте ссылку на общую папку фотографий внутри каталога phpAlbum:

cd /var/www/phpAlbum
sudo ln -s ~/photos photos_xyz34jk

Готово — можно переходить к административной части phpAlbum.

Первоначальная настройка phpAlbum

Важно: для безопасности рекомендуется выполнять вход в админку phpAlbum из локальной сети или через защищённый HTTPS-коннект. В данной инструкции вход выполняется из домашней сети.

Откройте в браузере локальную страницу:

http:///phpAlbum

Вход:

  • пользователь: admin
  • пароль: admin

Далее в верхнем правом углу нажмите Setup и поменяйте пароль администратора на надёжный.

В базовой настройке укажите e-mail, оставьте суперпользователя отмеченным и сохраните конфигурацию.

Перейдите в Main setup и заполните поля:

  • Album directory: photos_xyz34jk/
  • Cache directory: /cache_xyz34jk/

Обратите внимание на отсутствие ведущего слеша в первом поле и наличие завершающего слеша в обоих полях.

Сохраните конфигурацию.

Перейдите в Galleries → Scan directories now. phpAlbum просканирует связанную папку photos и создаст галерею для каждой вложенной папки с изображениями. Настройте видимость галерей и конкретных фотографий при необходимости.

Нажмите зелёную кнопку <<< Album для перехода в публичную часть и проверки результата.

Уменьшение прав после настройки

Если вы не хотите оставлять права 777 в общей папке, можно сузить доступ следующим образом:

  • Сам каталог photos может иметь права 0755, если веб-сервер (www-data) и SAMBA-пользователь совпадают или у вас настроены группы.
  • Для приватных данных (/data_xyz34jk и /cache_xyz34jk) уже установлены права 0700 и владелец www-data — это рекомендуемая практика.

Пример корректировки:

sudo chmod 0755 ~/photos
sudo chown :www-data ~/photos
sudo chmod 0750 ~/downloads

Рекомендации по безопасности

Important: держите администратора под безопасным паролем и по возможности включите HTTPS для внешнего доступа.

Рекомендации:

  • Настройте брандмауэр ufw, разрешив только необходимые порты (80/443 и SSH по нужде).
  • Ограничьте доступ к админке phpAlbum по локальному IP или через VPN/SSL туннель.
  • Не храните в общих папках файлы с приватными данными.
  • Регулярно делайте резервные копии каталога /data_xyz34jk и базы данных (если phpAlbum использует БД).

Пример команд ufw:

sudo ufw allow 80/tcp
sudo ufw allow 443/tcp
sudo ufw allow from 192.168.0.0/24 to any port 901 proto tcp
sudo ufw enable

Это разрешит HTTP и HTTPS, а также доступ к порту 901 только из локальной сети 192.168.0.0/24.

Отладка и частые ошибки

  1. Не удаётся подключиться к SWAT на порту 901:

    • Проверьте, запущен ли xinetd.
    • Убедитесь, что порт 901 не заблокирован локальным брандмауэром.
  2. phpAlbum не видит папки фотографий:

    • Проверьте, что симлинк photos_xyz34jk указывает на существующую папку ~/photos.
    • Проверьте права: веб-сервер (www-data) должен иметь доступ к файлам.
  3. Ошибки при распаковке или отсутствии unzip:

    • Установите unzip через apt-get.
  4. Проблемы с SAMBA: не принимается пароль SAMBA

    • Убедитесь, что вы добавили пользователя через smbpasswd и перезапустили службу samba.
  5. SWAT не запускается после удаления libpam-smbpass

    • Проверьте логи в /var/log/syslog и убедитесь, что зависимости корректны.

Критерии приёмки

Чтобы считать установку успешной, выполните контрольный чек:

  • Страница phpAlbum доступна по локальному адресу http://<сервер>/phpAlbum.
  • Вход в админку выполнен с новым паролем.
  • При сканировании директории появился хотя бы один альбом.
  • Публичная галерея отображается корректно и фотографии открываются.
  • Каталоги данных и кеша принадлежат www-data и имеют права 0700.

Тестовые кейсы

  • Создать новую папку с изображениями в ~/photos и проверить, что при повторном сканировании альбом появляется.
  • Попытаться открыть админку извне при выключенном HTTPS и убедиться, что доступ ограничен маршрутизатором/брандмауэром.
  • Проверить, что обычный пользователь локальной сети может скачать фото, если у него есть пароль SAMBA.

Роль‑ориентированные чеклисты

Администратор:

  • Установить LAMP и SAMBA.
  • Создать каталоги photos и downloads.
  • Установить phpAlbum и изменить config.php.
  • Настроить права и владельцев для /data и /cache.
  • Проверить бэкапы.

Пользователь (семья/гости):

  • Получить логин/пароль SAMBA.
  • Подключиться к расшаренной папке photos из проводника OS.
  • Загрузить или просмотреть фото в зависимости от прав.

Альтернативные решения

Если phpAlbum кажется устаревшим или вам требуется современный функционал, рассмотрите:

  • Nextcloud — полноценный файловый и фото‑сервис с синхронизацией, более сложная настройка, но мощнее.
  • Piwigo — специализированная платформа для фотогалерей с плагинами.
  • Использование стороннего хостинга или S3‑совместимых хранилищ, если вам нужен доступ и масштабируемость.

Краткое сравнение:

  • phpAlbum: лёгкая простая установка, ограниченная функциональность.
  • Nextcloud: богатая функциональность, мобильные клиентские приложения.
  • Piwigo: специализирован для фото, множество тем и плагинов.

Миграция на современные релизы Ubuntu

Ubuntu 12.04 больше не поддерживается официально. Для безопасности и совместимости рекомендуется мигрировать на Ubuntu LTS 20.04 или 22.04.

Общие шаги миграции:

  1. Сделайте полную резервную копию /var/www, /usr/local/src/www, /data_xyz34jk и конфигураций SAMBA.
  2. Разверните новую машину с Ubuntu LTS и установите LAMP, SAMBA.
  3. Скопируйте файлы веб-приложения и каталоги данных в те же пути или адаптируйте симлинки.
  4. Проверьте версии PHP: phpAlbum может требовать старых версий PHP, тогда подумайте о контейнеризации (Docker) для совместимости.

Совет: запуск phpAlbum в контейнере с нужной версией PHP упростит перенос на современные хосты.

Пример простого плейбука для быстрого восстановления

  1. Подготовка среды: установить LAMP, SAMBA.
  2. Восстановить /usr/local/src/www/phpAlbum_v* и /var/www/phpAlbum (симлинки).
  3. Восстановить /data* и /cache* и установить владельца www-data.
  4. Перезапустить Apache и SAMBA.
  5. Проверить админку и сканирование галерей.

Короткое объявление для домашних пользователей

Хотите хранить семейные фото на своём сервере? Я поднял phpAlbum на Ubuntu 12.04, настроил SAMBA для загрузки и создал публичные галереи для друзей. Админ-панель защищена паролем, а данные хранятся в отдельной папке с ограниченным доступом.

Минимальная методология поддержки

  • Еженедельный локальный бэкап каталога данных.
  • Проверка наличия свободного места на диске раз в месяц.
  • Мониторинг доступности сайта (локальный скрипт или простой монитор).

Однострочный глоссарий

  • SAMBA: служба шаринга файлов в локальной сети; LAMP: базовый веб-стек для PHP‑приложений.

Резюме

  1. Подготовьте LAMP и SAMBA, создайте папки photos и downloads.
  2. Установите phpAlbum, создайте уникальные каталоги данных и кеша, установите права владельца www-data.
  3. Настройте phpAlbum через веб-интерфейс, отсканируйте папки и проверьте публичную галерею.
  4. Ограничьте права доступа и настройте брандмауэр/HTTPS для безопасности.

Итог: phpAlbum предоставляет быстрый способ организовать локальный фотосервер. Для долгосрочной безопасности и функциональности рассмотрите миграцию на современные LTS‑релизы Ubuntu или использование более новых платформ.

Enjoy your photo sharing.

Поделиться: X/Twitter Facebook LinkedIn Telegram
Автор
Редакция

Похожие материалы

Альтернативный менеджер пакетов в Linux
Linux

Альтернативный менеджер пакетов в Linux

Как скачать и настроить DaVinci Resolve в Linux
Видеомонтаж

Как скачать и настроить DaVinci Resolve в Linux

EyeOS — облачная ОС под вашим контролем
Обзоры

EyeOS — облачная ОС под вашим контролем

Скачать данные Cortana на Windows
Конфиденциальность

Скачать данные Cortana на Windows

WannaCrypt: уроки после масштабной атаки
Кибербезопасность

WannaCrypt: уроки после масштабной атаки

Ошибка Valorant: код 46 — как исправить
Техподдержка

Ошибка Valorant: код 46 — как исправить