在 linux 上为 opencart 设置虚拟 host/multiple 商店
Setting up virtual host/multiple stores on linux for opencart
我正在使用 Opencart 2.0,我想为第二家商店设置虚拟主机。我还在 Kali Linux 上使用 Xampp。我的主要商店位于 /opt/lampp/htdocs/main_store/
,我用来访问它的 url 是 localhost/main_store
我在后端创建了第二个商店,并将其 url 设置为http:localhost/store_2
。我编辑了我的 /etc/hosts
并添加了我的服务器名称
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 etc/extra/httpd-vhosts.conf并去掉#到un-comment这一行
步骤 3: 通过打开 httpd-vhosts.conf 文件添加新的虚拟主机
sudo gedit /opt/lampp/etc/extra/httpd-vhosts.conf
通常,默认情况下此文件中有两个虚拟主机。评论这些虚拟主机或删除它们。例如在我的例子中
#<VirtualHost *:80>
#ServerAdmin webmaster@dummy-host.example.com
#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 webmaster@dummy-host2.example.com
#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 webmaster@localhost
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。同时将 mysite 替换为您的 store_2
步骤 4: 重新启动 XAMPP 服务器。这非常重要
sudo /opt/lampp/lampp restart
第 5 步: 在浏览器的地址栏中输入 http://mysite/
,它应该可以工作。你的情况 http://store_2/
我正在使用 Opencart 2.0,我想为第二家商店设置虚拟主机。我还在 Kali Linux 上使用 Xampp。我的主要商店位于 /opt/lampp/htdocs/main_store/
,我用来访问它的 url 是 localhost/main_store
我在后端创建了第二个商店,并将其 url 设置为http:localhost/store_2
。我编辑了我的 /etc/hosts
并添加了我的服务器名称
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 etc/extra/httpd-vhosts.conf并去掉#到un-comment这一行
步骤 3: 通过打开 httpd-vhosts.conf 文件添加新的虚拟主机
sudo gedit /opt/lampp/etc/extra/httpd-vhosts.conf
通常,默认情况下此文件中有两个虚拟主机。评论这些虚拟主机或删除它们。例如在我的例子中
#<VirtualHost *:80>
#ServerAdmin webmaster@dummy-host.example.com
#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 webmaster@dummy-host2.example.com
#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 webmaster@localhost
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。同时将 mysite 替换为您的 store_2
步骤 4: 重新启动 XAMPP 服务器。这非常重要
sudo /opt/lampp/lampp restart
第 5 步: 在浏览器的地址栏中输入 http://mysite/
,它应该可以工作。你的情况 http://store_2/