一個簡單的基於Debian的開發環境

描述瞭如何設置一個體面的開發環境,容許輕鬆設置多個站點。它已經假定您已經安裝並配置了PHP,MySql和
Apache已經運行的Debian或Ubuntu操做系統 。你還須要一個有效的sudo。php

雖然其中一些東西是Debian / Ubuntu特定的,但將它應用於任何其餘發行版並不困難。web

咱們須要作的第一件事是建立一個'www'組。該羣組中的任何人均可以建立新網站。apache

sudo groupadd www
把本身放在這個羣體中。ide

sudo gpasswd –a username www && newgrp www
如今,咱們須要確保咱們全部站點的存儲位置都由www擁有和寫入。測試

sudo chown :www /var/www
sudo chmod g+ws /var/www
chmod的s開關設置粘滯位並確保在/ var / www中建立的全部目錄也屬於www組。網站

咱們須要確保www能夠寫入保存vhost配置的目錄。ui

sudo chown :www /etc/apache2/sites-*
接下來,咱們將建立模板vhost配置。咱們將使用它來爲咱們的每一個站點生成配置。this

<VirtualHost *:80>url

ServerName {SITE}.local

DocumentRoot /var/www/sites/{SITE}.local/htdocs

DirectoryIndex index.php

<Directory />
    Options FollowSymLinks
    AllowOverride All
</Directory>

<Directory /var/www/sites/{SITE}.local/htdocs>
    Options Indexes FollowSymLinks MultiViews
    AllowOverride All
    Order allow,deny
    allow from all
</Directory>

ErrorLog /var/www/sites/{SITE}.local/logs/error.log
LogLevel warn
CustomLog /var/www/sites/{SITE}.local/logs/access.log combined

</VirtualHost>
將其保存爲/etc/apache2/sites-available/example.conf操作系統

如今,讓咱們建立一個簡單的測試站點。

mkdir -p /var/www/sites/foo.local/{htdocs,logs}
echo '<?php phpinfo(); ?>' > /var/www/sites/foo.local/htdocs/index.php
cd /etc/apache2/sites-available
sed -e 's/{SITE}/foo/g' example.conf > foo.conf
sudo a2ensite foo.conf
sudo /etc/init.d/apache2 restart
echo '127.0.0.1 foo.local' | sudo tee -a /etc/hosts
這裏有一些命令,但它很是簡單:

The first line creates the minimal required directory structure for a new web site.
We then create an index.php file which has a call to phpinfo() in it.
Next we move into the directory where our vhost configs are stored.
We then create a new vhosy config called foo.conf which is a copy of the example.conf from above, we use sed to replace all instances of '{SITE}' with 'foo'
Next, enable this vhost. This adds a symlink within /etc/apache2/sites-enabled
Restart Apache.
Add foo.local to our hosts file. This enables the url http://foo.local to resolve to our local machine and hence, be served by Apache.

這是真的。你能夠在這個基本想法上創建至關多的東西。我在多用戶系統中實現的一件事是向'www'組的成員提供新命令。這些命令主要是
圍繞須要sudo的東西的包裝器 ,但它確實使得從最終用戶的角度來看整個過程更加清晰。考慮到機會和興趣,我可能會在另外一個教程中詳細介紹相關細節。

有一點須要注意。若是您但願網站中的目錄可由Apache寫入,則必須使它們屬於www-data組,而且該組將須要寫入權限。例如;

mkdir -p /var/www/sites/foo.local/uploads
sudo chown :www-data /var/www/sites/foo.local/uploads

sudo chmod g+w /var/www/sites/foo.local/uploads

做者:cen風
來源:CSDN
原文:https://blog.csdn.net/qq_4033... 版權聲明:本文爲博主原創文章,轉載請附上博文連接!

相關文章
相關標籤/搜索