Как мне передать файлы с моего компьютера с Windows на мой веб-сервер Ubuntu для разработки?

На моей машине с Win8 установлен Dreamweaver и т. Д. Эти устройства в основном используются для разработки. Вместо того, чтобы сохранять файлы на общем размещенном сервере, я хотел сначала сохранить и протестировать их локально, а затем загрузить их, чтобы у меня было 3 этапа разработки для веб-сайта: разработка, бета-версия и производство.

Итак, я купил маленькую машинку и установил Lubuntu. Он отлично работает, afaik, и подключен к моей сети. Я могу получить доступ к устройству с помощью VNC и SSH, и он прекрасно доступен через IP-адрес в браузере.

Однако я не могу понять, как справиться с частью разработки. Или проще:

Как я могу передать мой файл с моей машины Windows на мой Linux (Web-сервер) во время разработки?

Файлы должны храниться в реальном времени, например Я хочу работать на сервере напрямую.

Мое возможное решение:

  • Общий доступ к сети / папка / var / www> не разрешен, только для root, не кажется хорошим решением
  • Настройка папки / www в / home и предоставление общего доступа к папке> как включить это в apache / php?
  • Использование FTP> почему (и как) мне следует использовать FTP, если сервер подключен к моему локальная сеть?

Я часами гуглял, но не могу найти ничего, что не звучит «быстро и грязно» (например, изменение разрешений в /var/www).

Я настроил:

  • Lubuntu
  • Apache2, PHP5, MySQL
  • Установлен PhpMyAdmin

Итак, что является лучшим решением?

некоторые правки: Поскольку я был совершенно новичком в мире Linux, я не полностью понимал систему прав / пользователей / групп. Мне удалось установить vsftpd, и теперь ftp-пользователю разрешено писать в папку apache / var / www (что я считаю действительно хорошим решением).

WebDav (из комментариев) также звучит хорошо. Сейчас я перейду к решению FTP - оно супер быстрое и работает, но вопрос все еще открыт, какое решение лучше?

2
задан 30 November 2013 в 00:16

1 ответ

Вот функция 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 с сетью.

0
ответ дан 30 November 2013 в 00:16

Другие вопросы по тегам:

Похожие вопросы: