在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我得到一个对象未​​找到错误。我究竟做错了什么?

+0

你不能使用'localhost/store_2'作为虚拟主机名,所以这在你的hosts文件或者VirtualHost配置文件中都不起作用。 'localhost'是你的主机名,'/ store_2'是你的目录(或应用程序)名称 – arco444

+1

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

第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/