Я только что установил Ubuntu Server 10.04 с настройкой LAMP. Я хочу разместить там сайт, но я не уверен, что это лучший способ получить / отредактировать мои файлы на сервере. Поиск в Google дает много вариантов, но я не уверен, что лучше?
Если нет лучшего варианта, я хотел бы создать страницы на другом ПК (Windows или Linux) и использовать SFTP для синхронизации изменений на сервере - но я делаю это для папки с символическими ссылками в ~ / или изменяя права в папке / var / www /?
Ответы:
Каждая установка отличается. Для меня у меня много пользователей на сервере, каждый из которых размещает веб-сайты, для вас, скорее всего, вам не нужно будет создавать более одного пользователя в системе. Однако, если вы управляете несколькими веб-сайтами на этом сервере, эта настройка поможет вам управлять, настраивать и отлаживать каждый домен более простым способом, чем стандартная настройка LAMP. Чтобы это произошло, я использую несколько устройств Apache, чтобы обойти ошибки разрешения.
Во-первых, это структура документа, которую я использую:
У каждого пользователя есть своя учетная запись с папкой доменов (которую я добавил,
/etc/skel
поэтому она создается каждый раз. У каждого домена есть своя папка вdomains
папке сhtml
папкой (у меня есть для этого причины, в первую очередь, чтобы у доменов могли быть веб-файлы вне из общественного царства.) Не стесняйтесь изменять эту структуру по своему усмотрению, просто не забывайте переносить эти изменения в этом посте.Во-вторых, я размещаю много PHP-сайтов, поэтому в своей конфигурации я использую suPHP. По умолчанию в стандартном архивном пакете не включен соответствующий флаг компиляции, что приводит к менее безопасной версии suPHP. Я сделал свой собственный пакет suPHP, который я использую на своих серверах, инструкции по установке приведены ниже. suPHP позволяет вам определить, какие пользовательские сценарии PHP должны выполняться (среди прочего, включая: пользовательский php.ini для каждого сайта и т. д.). Я также включаю suExec для Apache - это устраняет необходимость владения правами пользователя www-data (пользователя, которого я презираю).
Сначала убедитесь, что у вас есть Apache и все другие службы, установленные на вашем сервере. Убедитесь, что они хотя бы работают. После этого я рекомендую установить suphp-common и необходимый модуль libapache2-mod-suphp (дополнительная информация: что такое PPA и как их использовать? ). Затем, после установки, активируйте suPHP и suexec, используя
a2enmod
Далее придет файл конфигурации. Я создал различные инструменты, которые автоматически генерируют файлы конфигурации каждый раз, когда я добавляю новый сайт; тем не менее, вот основной шаблон, который я использую:
Это настраивает ведение журнала для этого домена, корня документа и всех других основных потребностей, необходимых для работы домена. Я помещаю эти файлы в
/etc/apache2/sites-available/
обычно именованные[USER]-[DOMAIN]
и включаю / отключаю ихa2ensite
так:После каждой модификации файлов конфигурации Apache необходимо будет перезагружать
Хотя может показаться, что настройка настраиваемой гибкости может показаться слишком сложной, на мой взгляд, она намного превышает время настройки. Хотя вам нужен только однопользовательский веб-сервер, в будущем, если вам когда-нибудь понадобится что-то кроме однопользовательского веб-сервера, вам потребуется выполнить дальнейшие действия (или просто сбросить защиту вместе), чтобы сделать это.
источник
Sftp очень прост в установке. Просто установите пакет,
openssh-server
и у вас будет sftp. Убедитесь, что у вашего пользователя есть надежный пароль, если вы можете получить его из Интернета. (8+ символов, не слова из словаря, имеет символы и цифры).Что касается разрешений, я обычно делаю это.
sudo adduser <username> www-data
sudo chown -R www-data:www-data /var/www
sudo chmod -R g+rw /var/www
Затем вы сможете публиковать страницы, подключаясь к sftp (используя ваше имя пользователя и пароль), а затем перейдя в папку / var / www и разместив там свои файлы.
источник
Я использую webdav. Это очень легко установить на Ubuntu Server. Если у вас установлен apache, вы почти закончили. Просто
sudo a2enmod dav; service apache2 restart
. Вам нужно будет немного настроить свой виртуальный сайт. Вот пример, который я использую в производстве:Вы можете поместить это в / srv / etc / apache2 / sites-available / mysite и затем сделать
sudo a2ensite mysite; sudo service apache2 reload
.Здесь происходит то, что вы создали два виртуальных сайта. Один из них - www.mysite.com, а другой - webdav.mysite.com. PHP был отключен на webdav.mysite.com, что важно.
Теперь вы можете получить доступ к своему сайту через http в Ubuntu, Windows и MacOS. Все три имеют встроенную поддержку webdav. Вот инструкции по добавлению сетевого расположения webdav в Ubuntu .
источник
mkdir -p /srv/mysite/www; chown -R www-data.www-data /srv/mysite
.Я бы дал права на запись в / var / www для www-данных и добавил бы вашего пользователя в эту группу. Таким образом, было бы легко контролировать, какие пользователи могут писать в этот каталог.
источник
Используете ли вы какие-либо рамки для вашего сайта? Drupal, Wordpress и т. Д.? Например, в Drupal есть инструменты для загрузки через браузер.
Вы смотрели в самбу? Вы можете настроить общий ресурс Samba (и для них существует множество ресурсов в Интернете) и просто использовать Windows Explorer, чтобы открывать / редактировать / сохранять / удалять. Настройте / var / www для совместного использования, а затем сопоставьте «сетевой диск» с windows.
Это работа или домашняя обстановка? Звучит как дома, но если вы находитесь в рабочей среде ... вы можете связать Samba с Active Directory с помощью таких инструментов, как Likewise-Open. У меня есть настройка сервера / веб-сайта, чтобы те, кто работает в ИТ-магазине, могли войти на любую сторону сервера (linux или веб-сайт) через свои учетные данные AD.
Я бы также предложил изучить что-то вроде Mercurial. Создайте репозиторий на сервере и синхронизируйте его с Windows через что-то вроде TortiseHG. Я предполагаю, что это похоже на rsync, но у вас будут версии, резервные копии, возможность распространения и т. Д. (SVN, Mercurial, Git и т. Д. Все варианты)
источник
Вы можете использовать sshfs. https://help.ubuntu.com/community/SSHFS
источник
Вы после чего-то вроде этого
источник