На моей машине с Win8 установлен Dreamweaver и т. Д. Эти устройства в основном используются для разработки. Вместо того, чтобы сохранять файлы на общем размещенном сервере, я хотел сначала сохранить и протестировать их локально, а затем загрузить их, чтобы у меня было 3 этапа разработки для веб-сайта: разработка, бета-версия и производство.
Итак, я купил маленькую машинку и установил Lubuntu. Он отлично работает, afaik, и подключен к моей сети. Я могу получить доступ к устройству с помощью VNC и SSH, и он прекрасно доступен через IP-адрес в браузере.
Однако я не могу понять, как справиться с частью разработки. Или проще:
Как я могу передать мой файл с моей машины Windows на мой Linux (Web-сервер) во время разработки?
Файлы должны храниться в реальном времени, например Я хочу работать на сервере напрямую.
Мое возможное решение:
Я часами гуглял, но не могу найти ничего, что не звучит «быстро и грязно» (например, изменение разрешений в /var/www).
Я настроил:
Итак, что является лучшим решением?
некоторые правки: Поскольку я был совершенно новичком в мире Linux, я не полностью понимал систему прав / пользователей / групп. Мне удалось установить vsftpd, и теперь ftp-пользователю разрешено писать в папку apache / var / www (что я считаю действительно хорошим решением).
WebDav (из комментариев) также звучит хорошо. Сейчас я перейду к решению FTP - оно супер быстрое и работает, но вопрос все еще открыт, какое решение лучше?
Вот функция Apache, которую я недавно нашел: модуль «userdir».
Если я не ошибаюсь, вы можете включить его, выполнив в терминале:
sudo a2enmod userdir
sudo service apache2 restart
После этого, если вы создадите папку с именем public_html
внутри вашей домашней папки, эта папка будет «включен» в Apache (ваше второе возможное решение). URL-адрес для доступа к содержимому этой папки из браузера имеет тип http://YOUR_SERVER_ADDRESS/~YOUR_USERNAME/
.
Пример: localhost/~ubuntu/
, если ваше имя пользователя - Ubuntu.
По умолчанию могут использоваться только статические файлы HTML, сценарии PHP не могут использоваться из соображений безопасности. Чтобы включить обработку PHP при использовании userdir:
Отредактируйте /etc/apache2/mods-available/php5.conf
и закомментируйте строку php_admin_value engine Off
, поставив перед ней знак #. См. Ниже:
sudo nano /etc/apache2/mods-available/php5.conf
<IfModule mod_userdir.c>
<Directory /home/*/public_html>
#php_admin_value engine Off
</Directory>
</IfModule>
Перезагрузите apache2, используя
sudo /etc/init.d/apache2 reload
, и проверьте свой код PHP в каталоге userdir.
Если в браузере появляется ошибка запрещенного доступа (или аналогичная), убедитесь, что пользователь www-data
(я думаю, это правильное имя) может получить доступ к этой папке и файлам внутри. Это означает, что ваша домашняя папка должна иметь разрешение на выполнение ( x ) для других ( o ) и что папка public_html
должны иметь для чтения ( r ) и права на запись для других .
После этого вы сможете без проблем поделиться папкой public_html
с сетью.