Домашний сервер - photo hosting II

May 31, 2024 12:04


Говоря о компонентах LAMP (linux apache mysql php) мы построили базу данных. Сегодня будем разбираться с Linux.

K сожалению, для установки файлов потребуется SSH client. По какой-то загадочной причине, Synology не предоставляет terminal/ssh console сервис. До версии 6 работал сторонний пакет GateOne, но в обновленных версиях он не поддерживается. Проблема решается или
  • Использованием любого SSH клиента - Putty, Solar Putty, XShell - их дофига, и все как один кривее другого.
  • На windows 10+ никакой клиент не нужен, ssh можно поднять из командной строки
  • Поднять какой-нибудь контейнер в докере, запустить из него Apache Guacamole - если вы можете это сделать, то весь этот курс вам не нужен, так что и не будем

Будем считать, что или вы знаете, как использовать Putty или что-то Putty-подобное, или можете запустить cmd на винде и из нее запустить команду

ssh -p <Ваш SSH port> admin@SYNOLOGY_IP_ADDRESS

- В предположении что ваш SSH установлен не на 22-м порту, пожалуйста. Если установлен, то Control Panel -> Terminal & SNMP -> Enable SSH -> change port to something NOT 22. Админ аккаунт тоже не должен называться admin, но если вы действительно добрались сюда не как читатель а как пользователь, то к этому моменту admin у вас уже переименован - Synology сама заставит.

Итак, мы тем или иным, неизвестным науке способом, добрались до командной строки в SSH клиенте. Теперь давайте резвиться.

Сначала в браузере идем на zenphoto download page, кликаем правой кнопкой по Download(.zip) и запоминаем ссылку.



и возвращаемся в ssh на сервере. Где исполняем следующие команды:

cd /volume1/web
wget https://github.com/zenphoto/zenphoto/archive/v1.6.2.zip

то, что идет после wget - это то, что мы скопировали из кнопки Download(.zip) выше. Сегодня это версия 1.6.2, завтра это что-то другое, так что копируйте у себя, а не у меня.
Если все удачно скачалось, то в директории web у вас окажется файл v1.6.2.zip (для сегодняшней версии). Набираете следующее заклинание:

7z x v1.6.2.zip

По другой загадочной причине, стандартный unzip в набор утилит Synology не входит, но есть 7z. Не выпендривайтесь, слушайте полонез Огинского. х перед именем файла означает “распаковать”, эквивалент стандартной команде unzip.

После распаковки у вас обнаружится директория zenphoto-1.6.2. Советую ее переименовать во что-то типа photos-1.6.2 и вот почему. Если в какой-то момент вам захочется создать много (т.е. больше одной) картинной галереи, то корневые директории должны как-то отличаться. Сегодня вы собираетесь хостить картинки на photos.fooblah.com, а завтра вам захочется завести отдельный архив фотографий только для семьи на archive.fooblah.com - лучше все наименовать заранее. Но можно и не, как хотите.

Итак, допустим вы сказали

mv zenphoto-1.6.2 photos-1.6.2

так что теперь мы будем пользоваться новым именем. Теперь нужно правильно присвоить accounts & permissions - не бойтесь, ничего сложного.

Выполняем следующие команды, смысл которых я объясню ниже:

sudo chown -R http:http photos-1.6.2
cd photos-1.6.2
sudo find . -type f -exec chmod 644 {} \;
sudo find . -type d -exec chmod 755 {} \;

Не забудьте точку с запятой в конце двух последних комманд.

Смысл содеянного:
  1. Веб-аппликации требуют, чтобы файлы принадлежали специальному встроенному аккаунту http, что делается командой chown. Директории рекурсивно переписываются с административного аккаунта на юзера/группу http:http
  2. Переходим в директорию photos
  3. Меняем (рекурсивно) доступ к файлам и директориям так, чтобы юзер http мог читать и писать, а остальные - только читать.

Не поверите, но это все. Восемь комманд, и файлы готовы.
В следующий раз я расскажу про PHP и мы со всем этим попытаемся запустить инсталлятор. PHP конфигурируется кнопками, так что с писаниной мы разобрались сегодня и навсегда.
Cross-posted from here

членисторукое, зато я нюхаю и слышу хорошо, вы конечно назовете это чепухой

Previous post Next post
Up