這只是一個快速演練,描述了如何設(shè)置一個體面的開發(fā)環(huán)境,允許輕松設(shè)置多個站點。
它已經(jīng)假定您已經(jīng)安裝并配置了PHP,MySQL和
Apache已經(jīng)運行的
Debian或Ubuntu操作系統(tǒng)
。
你還需要一個有效的sudo。
10年積累的網(wǎng)站設(shè)計制作、網(wǎng)站建設(shè)經(jīng)驗,可以快速應(yīng)對客戶對網(wǎng)站的新想法和需求。提供各種問題對應(yīng)的解決方案。讓選擇我們的客戶得到更好、更有力的網(wǎng)絡(luò)服務(wù)。我雖然不認識你,你也不認識我。但先網(wǎng)站設(shè)計制作后付款的網(wǎng)站建設(shè)流程,更有臨海免費網(wǎng)站建設(shè)讓你可以放心的選擇與我們合作。
雖然其中一些東西是Debian / Ubuntu特定的,但將它應(yīng)用于任何其他發(fā)行版并不困難。
我們需要做的第一件事是創(chuàng)建一個'www'組。 該群組中的任何人都可以創(chuàng)建新網(wǎng)站。
sudo groupadd www
把自己放在這個群體中。
sudo gpasswd –a username www && newgrp www
現(xiàn)在,我們需要確保我們所有站點的存儲位置都由www擁有和寫入。
sudo chown :www /var/www sudo chmod g+ws /var/www
chmod的s開關(guān)設(shè)置粘滯位并確保在/ var / www中創(chuàng)建的所有目錄也屬于www組。
我們需要確保www可以寫入保存vhost配置的目錄。
sudo chown :www /etc/apache2/sites-*
接下來,我們將創(chuàng)建模板vhost配置。 我們將使用它來為我們的每個站點生成配置。
ServerName {SITE}.local DocumentRoot /var/www/sites/{SITE}.local/htdocs DirectoryIndex index.php Options FollowSymLinks AllowOverride All Options Indexes FollowSymLinks MultiViews AllowOverride All Order allow,deny allow from all ErrorLog /var/www/sites/{SITE}.local/logs/error.log LogLevel warn CustomLog /var/www/sites/{SITE}.local/logs/access.log combined
將其保存為/etc/apache2/sites-available/example.conf
現(xiàn)在,讓我們創(chuàng)建一個簡單的測試站點。
mkdir -p /var/www/sites/foo.local/{htdocs,logs} echo '' > /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.
這是真的。
你可以在這個基本想法上建立相當多的東西。
我在多用戶系統(tǒng)中實現(xiàn)的一件事是向'www'組的成員提供新命令。
這些命令主要是
圍繞需要sudo的東西的
包裝器
,但它確實使得從最終用戶的角度來看整個過程更加清晰。
考慮到機會和興趣,我可能會在另一個教程中詳細介紹相關(guān)細節(jié)。
有一點需要注意。 如果您希望網(wǎng)站中的目錄可由Apache寫入,則必須使它們屬于www-data組,并且該組將需要寫入權(quán)限。 例如;
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