public_html разрешения для локальной разработки

Я знаю, что этот вопрос всплывал пару раз, но я не могу найти однозначного ответа на мою проблему, поэтому, пожалуйста, потерпите меня. У меня есть установка Ubuntu Server 12.04 в VirtualBox для разработки и тестирования PHP (Drupal плюс другие сайты PHP, использующие инфраструктуру Yii). Мой вопрос состоит из 3 частей ...

1) Если я создаю папку public_html в /home/myuser, нужно ли передать эту папку группе Apache www-data? Если да, есть ли какие-то конкретные разрешения, которые я должен установить? 755? (Кстати, я следую этому руководству , чтобы создать каталог public_html и настроить несколько виртуальных хостов для каждого сайта, который я создаю и тестирую)

Ранее у меня были все мои сайты в разделе /var/www, но я сталкивался с огромными ошибками разрешения доступа всякий раз, когда я пытался sFTP к нему, либо через FileZilla или PhpStorm. Это то, что я делал ранее:

sudo chgrp www-data /var/www
sudo chmod -R 775 /var/www
sudo chmod -R g+s /var/www
sudo usermod -G www-data [my_ftp_user]

2) Вторая часть моего вопроса такова: если я создаю свой проект PHP и файлы в Windows через PhpStorm, а затем загружаю через sFTP, разрешения будут затронуты?

3) После того, как я буду удовлетворен моим разработанным проектом, было бы целесообразно перенести и протестировать их в соответствии с /var/www, чтобы увидеть, насколько он будет справедливым в производственной среде? [ 1112]

Буду очень признателен за помощь и совет. Я узнаю больше по ходу дела, но работа с файлами и разрешениями для Linux - это немного новая игра для меня! Спасибо

3
задан 11 December 2012 в 02:44

1 ответ

Я обычно использую это руководство от linode для создания локальной среды разработки: http://library.linode.com/hosting-website

Единственное персональное дополнение, которое я делаю к этому, состоит в том, что иногда, я хочу протестировать пути URL и вещи той природы, таким образом, я обманываю свой компьютер в размышление localhost, www.example.com

sudo nano /etc/hosts

Добавьте: 127.0.0.1 example.com Не забывайте удалять его, когда Вы пойдете живые!

Примечание: НЕПОСРЕДСТВЕННО СКОПИРОВАННЫЙ

  1. Отключите Apache по умолчанию виртуальный хост путем ввода следующей команды:::

    sudo a2dissite default

  2. Перейдите к своему корневому каталогу путем ввода следующей команды:::

    cd ~

  3. Создайте папку для содержания веб-сайта путем ввода следующей команды:::

    mkdir public

  4. Создайте ряд папок внутри public хранить файлы Вашего веб-сайта, журналы и резервные копии. Введите следующую команду, заменив example.com с Вашим доменным именем:::

    mkdir -p public/example.com/{public,log,backup}

  5. Установите свой корневой каталог, чтобы быть читаемыми и доступными для всех пользователей в системе путем ввода следующей команды:::

    sudo chmod a+rx ~

  6. Установите public каталог (и все файлы в нем), чтобы быть читаемым и доступным для всех пользователей в системе путем ввода следующей команды:::

    sudo chmod -R a+rx ~/public

  7. Создайте виртуальный файл хоста для своего веб-сайта путем ввода следующей команды. Замена example.com с Вашим доменным именем:::

    sudo nano /etc/apache2/sites-available/example.com

  8. Теперь пора создать конфигурацию для Вашего виртуального хоста. Мы создали некоторые основные настройки для получения запущенного. Скопируйте и вставьте настройки, показанные ниже в в виртуальный файл хоста, который Вы просто создали. Замена example_user с Вашим именем пользователя, и example.com с Вашим доменным именем.

.. colorize:: апач

# domain: example.com
# public: /home/example_user/public/example.com/

<VirtualHost *:80>
  # Admin email, Server Name (domain name), and any aliases
  ServerAdmin webmaster@example.com
  ServerName  www.example.com
  ServerAlias example.com

  # Index file and Document Root (where the public files are located)
  DirectoryIndex index.html index.php
  DocumentRoot /home/example_user/public/example.com/public

  # Log file locations
  LogLevel warn
  ErrorLog  /home/example_user/public/example.com/log/error.log
  CustomLog /home/example_user/public/example.com/log/access.log combined
</VirtualHost>
  1. Сохраните изменения в виртуальном конфигурационном файле хоста путем нажатия Control + x и затем нажатие y.

  2. Создайте символьную ссылку на свое новое public каталог путем ввода следующей команды. Замена example.com с Вашим доменным именем:::

    sudo a2ensite example.com
    
  3. Apache перезапуска для сохранения изменений. Введите следующую команду:::

    sudo service apache2 restart
    
  4. Повторите шаги 1-11 для любого веб-сайта, который Вы хотите разместить на своем Linode.

3
ответ дан 11 December 2012 в 02:44

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

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