在linux上为opencart设置虚拟主机/多个商店
问题描述:
我正在使用Opencart 2.0我想为第二个商店设置一个虚拟主机。我也使用Xampp on Kali Linux。我在/opt/lampp/htdocs/main_store/
有主店,我用它来访问它的网址是localhost/main_store
我在后端创建了第二个商店,我已将其网址设置为http:localhost/store_2
。我已经编辑我的/etc/hosts
,我有我添加的服务器名称在linux上为opencart设置虚拟主机/多个商店
127.0.0.1 localhost
127.0.1.1 hostname
127.0.0.1 localhost/store_2
我已经编辑我的/opt/lampp/etc/extra/http.v-hosts.conf
并添加
# Sub domain localhost/store_2
<VirtualHost *:80>
DocumentRoot "/opt/lampp/htdocs/main_store/"
ServerName localhost/store_2
<Directory "/opt/lampp/htdocs/main_store/">
Options Indexes FollowSymLinks MultiViews Includes
AllowOverride All
Order allow,deny
Allow from all
</Directory>
</VirtualHost>
当我键入localhost/store_2
我得到一个对象未找到错误。我究竟做错了什么?
答
第1步:将您的自定义主机添加到/etc/hosts
。在您的终端执行此操作
sudo gedit /etc/hosts
然后添加您的自定义主机。例如我的自定义主机是mysite所以我添加了127.0.0.1 mysite
。你的情况是STORE_2
127.0.0.1 localhost
127.0.1.1 yourhostname
127.0.0.1 mysite
第2步:。通过编辑httpd.conf文件
sudo gedit /opt/lampp/etc/httpd.conf
启用虚拟主机查找的#include等/额外/的httpd-vhosts.conf和删除#,取消注释该行
第3步:添加新虚拟主机通过打开的httpd-vhosts.conf文件
sudo gedit /opt/lampp/etc/extra/httpd-vhosts.conf
通常情况下,在默认情况下有此文件中的两个虚拟主机。评论这些虚拟主机或删除它们。例如,在我的情况下
#<VirtualHost *:80>
#ServerAdmin [email protected]
#DocumentRoot "/opt/lampp/docs/dummy-host.example.com"
#ServerName dummy-host.example.com
#ServerAlias www.dummy-host.example.com
#ErrorLog "logs/dummy-host.example.com-error_log"
#CustomLog "logs/dummy-host.example.com-access_log" common
#</VirtualHost>
#<VirtualHost *:80>
#ServerAdmin [email protected]
#DocumentRoot "/opt/lampp/docs/dummy-host2.example.com"
#ServerName dummy-host2.example.com
#ErrorLog "logs/dummy-host2.example.com-error_log"
#CustomLog "logs/dummy-host2.example.com-access_log" common
#</VirtualHost>
然后加入
NameVirtualHost 127.0.0.1
<VirtualHost 127.0.0.1>
DocumentRoot /opt/lampp/htdocs/
ServerName localhost
</VirtualHost>
<VirtualHost mysite>
ServerAdmin [email protected]
DocumentRoot /opt/lampp/htdocs/your_project_folder/
ServerName mysite
ServerAlias mysite
RewriteEngine On
RewriteOptions inherit
CustomLog /var/log/apache2/mysite.log combined
<Directory /opt/lampp/htdocs/your_project_folder/>
Options Indexes FollowSymLinks Includes ExecCGI
AllowOverride All
Order allow,deny
Allow from all
</Directory>
</VirtualHost>
在上面的代码,你的情况的项目文件夹是main_store。重启XAMPP服务器:也与你的STORE_2
第4步替换mysite的。这是非常重要
sudo /opt/lampp/lampp restart
第5步:类型http://mysite/
在浏览器的地址栏中,它应该工作。在你的情况下http://store_2/
你不能使用'localhost/store_2'作为虚拟主机名,所以这在你的hosts文件或者VirtualHost配置文件中都不起作用。 'localhost'是你的主机名,'/ store_2'是你的目录(或应用程序)名称 – arco444
Stack Overflow是一个编程和开发问题的网站。这个问题似乎与题目无关,因为它不涉及编程或开发。请参阅帮助中心的[我可以询问哪些主题](http://stackoverflow.com/help/on-topic)。也许[超级用户](http://superuser.com/)或[Unix&Linux堆栈交换](http://unix.stackexchange.com/)会是一个更好的地方。另请参阅[我在哪里发布有关Dev Ops的问题?](http://meta.stackexchange.com/q/134306) – jww