我正在使用ubuntu 14.04操作系统,我想在开始我的php项目之前创建一个虚拟主机。如果有人能给我终端命令,我将不胜感激。
我已经安装了必要的安装,我正在使用Symfony php框架。
答案 0 :(得分:1)
创建虚拟主机
sudo nano /etc/hosts
输入密码=>
创建ip和域名=>
127.0.0.1 testsite.lk
创建项目文件夹=> 转到该目录comand prompt =>
sudo chmod -R 777 testsite.lk
将项目分配给组=> :〜/ mayura $
> sudo chown -R www-data:www-data testsite.lk/
给予权限=> :〜/ mayura $
sudo chmod -R 777 testsite.lk/
为vertual host提供文档根文件 :〜/ mayura $
cd /etc/apache2/sites-available/
sudo nano testsite.lk.conf
<VirtualHost *:80>
DocumentRoot /home/mayura/project/testsite/web
DirectoryIndex index.php
ServerName testsite
<Directory "/home/mayura/project/testsite/web">
Options Indexes FollowSymLinks MultiViews
AllowOverride All
Order allow,deny
allow from all
Require all granted
</Directory>
</VirtualHost>
在该文件夹中的Netbeans上创建新项目=&gt; 的index.php
启用site =&gt;
cd /etc/apache2/sites-available
sudo a2ensite testsite.lk.conf
Apache reload =&gt;
sudo /etc/init.d/apache2 reload
启动浏览器=&gt; 运行=&GT;
xdg-open http://testsite.lk
答案 1 :(得分:1)
打开终端或控制台并编写以下命令
使用以下步骤转到您的网站可用的apache2文件夹:
cd /etc/apache2/sites-available/
将您的000-default.conf复制到另一个文件(最好使用您的站点或虚拟主机的名称)
sudo cp 000-default.conf example.conf
使用最佳文本编辑器打开该新文件(example.conf)或使用:
sudo nano example.conf
使用(忽略注释)更改example.conf的内容:
<VirtualHost *:80>
# The ServerName directive sets the request scheme, hostname and port that
# the server uses to identify itself. This is used when creating
# redirection URLs. In the context of virtual hosts, the ServerName
# specifies what hostname must appear in the request's Host: header to
# match this virtual host. For the default virtual host (this file) this
# value is not decisive as it is used as a last resort host regardless.
# However, you must set it for any further virtual host explicitly.
ServerAdmin webmaster@mail.com
ServerName example.com
ServerAlias www.example.com
# example.com is the folder where you have to put your site's code.
# Obviously, its name can be whatever you want
DocumentRoot /var/www/html/example.com
# Available loglevels: trace8, ..., trace1, debug, info, notice, warn,
# error, crit, alert, emerg.
# It is also possible to configure the loglevel for particular
# modules, e.g.
#LogLevel info ssl:warn
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
# For most configuration files from conf-available/, which are
# enabled or disabled at a global level, it is possible to
# include a line for only one particular virtual host. For example the
# following line enables the CGI configuration for this host only
# after it has been globally disabled with "a2disconf".
# Include conf-available/serve-cgi-bin.conf
</VirtualHost>
启用网站,如下所示:
sudo a2ensite example.com
重新启动apache2 Web服务器
sudo /etc/init.d/apache2 restart
使用以下命令编辑 / etc / host 文件:
sudo nano /etc/hosts
在文件末尾添加域 example.com 和 www.example.com 。它必须看起来像:
127.0.0.1 localhost
...
# you can replace with your IP
127.0.0.1 example.com
127.0.0.1 www.example.com
...
打开最好的网络浏览器,然后在其地址栏中输入: www.example.com 或 example.com
答案 2 :(得分:-1)
复制所有代码,并将其保存为.sh文件(例如:virtualhost.sh),然后在命令行中运行该文件
./virtualhost.sh
并按照说明进行操作。它将创建一个文件夹,即您的VirtualHost文件夹。并输入后缀为“ .localhost”的域名,例如projectname.localhost
clear
echo "============================================"
echo "Virtual Host SetUp Script"
echo "============================================"
echo "Please type in directory name for virtual host \n\r ( the dir should be under /var/www/ )\n\r"
cd /var/www/
read _dir
if [ -d /var/www/$_dir ] ; then
printf "\n \n The directory: $_dir already exist. would you like to delete it ? (y/n) \n\r" ;
read answer
if [ $answer = y ] ; then
rm -rf $_dir ;
else
return
fi
fi
printf "\n \n Creating new dir name: $_dir ... \n \n\r"
cd /var/www/
mkdir $_dir
cd $_dir;
pwd ;
# virtual host
printf "\n \n \n Shall script proceed further for setting up virtual host ? (y/n) \n\r"
read answer
if [ $answer = y ] ; then
virtualhost="y";
printf "\n Creating virtual host \n "
printf "\n Type in user (if you don't know what to write here the it is probably root ) \n\r"
read usr
homedir=$_dir ;
printf "\n Type in domain ( exp: s1.localhost ) \n\r"
read sn
# Create a directory for your apache errors log
mkdir /var/log/apache2/$sn/
# Create VirtualHost configuration file in /etc/apache2/site-available/
printf "<VirtualHost *:80>
ServerAdmin webmaster@$sn
ServerName $sn
ServerAlias www.$sn
DocumentRoot /var/www/$homedir
<Directory /var/www/$homedir>
Options All
AllowOverride All
</Directory>
ErrorLog /var/log/apache2/$sn/error.log
# Possible values include: debug, info, notice, warn, error, crit,
# alert, emerg.
LogLevel warn
CustomLog /var/log/apache2/$sn/access.log combined
</VirtualHost>" > /etc/apache2/sites-available/"$sn.conf"
# Add the host to the hosts file
if [ grep $sn /etc/hosts ] ; then
printf "the vhost is allready in /etc/hosts "
else
printf "Adding $sh to /etc/hosts "
printf "\n" >> /etc/hosts
printf "127.0.0.1 $sn" >> /etc/hosts
fi
# Enable site
a2ensite $sn
# Reload Apache2
/etc/init.d/apache2 reload
fi
printf "\n \n Script written by Inamur Rahman \n -> Thanks You :) \n"
printf "\n \n Enjoy your new Virtual Host here http://$_dir.localhost \n \n";