描述瞭如何設置一個體面的開發環境,容許輕鬆設置多個站點。它已經假定您已經安裝並配置了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
做者:cen風
來源:CSDN
原文:https://blog.csdn.net/qq_4033... 版權聲明:本文爲博主原創文章,轉載請附上博文連接!