7

私はこれに夢中ですが、php自体で自分で作りたいと思っています。

システムに以下をインストールしました。

以下を含むWAMPサーバー2.2

  • Apache Web サーバー バージョン 2.2.222
  • MySQL サーバー バージョン 5.5.24
  • PHP バージョン 5.3.13
  • OS バージョン Windows 8 64Bit

Hosts ファイルの場所:

C:\Windows\System32\Drivers\etc\hosts

WAMP サーバーの場所:

C:\wamp

Apache Web サーバーの場所:

 - C:\wamp\bin\apache\apache2.2.22

 - C:\wamp\bin\apache\apache2.2.22\conf\extra\httpd-vhosts.conf

MySQL サーバーの場所:

C:\wamp\bin\mysql\mysql5.5.24

PHP の場所:

C:\wamp\bin\php\php5.3.13

VHost を作成する簡単な例があります。たとえば、 80ポートで単純なドメインwww.mylocalsite.comlocalhost 作成したい

そのために、次の手順があります。

(1) Apache モジュールを有効にする

  • rewrite_module
  • vhosts_alias_module

(2) httpd.conf ファイルを開いて Vhost 設定を有効にします

C:\wamp\bin\apache\apache2.2.22\conf\httpd.conf

仮想ホスト

Include conf/extra/httpd-vhosts.conf // Remove the # before Include and save file

(3) httpd-vhosts.conf ファイルに VHost エントリを追加

<VirtualHost *:90>
   DocumentRoot "C:/mylocalsite.com/"
   ServerName www.mylocalsite.com

   # This should be omitted in the production environment
   SetEnv APPLICATION_ENV development

   <Directory "C:/mylocalsite.com/">
       Options Indexes MultiViews FollowSymLinks
       AllowOverride All
       Order allow,deny
       Allow from all
   </Directory>

   ErrorLog "C:/mylocalsite.com/logs/error.log"   // Logs folder should be exists
   CustomLog "C:/mylocalsite.com/logs/access.log" common

</VirtualHost>

(4) hosts ファイルにエントリを追加 管理者権限でメモ帳でファイルを開きますC:\Windows\System32\Drivers\etc\hosts ファイルの末尾に次の行を追加して保存します。

127.0.0.1    www.mylocalsite.com

(5) (WAMP から) Apache Web サーバーを再起動し、ブラウザーで実行し ます http://www.mylocalsite.com/が機能します。

さて、私の質問は、 PHP/JSP またはその他の言語を使用して動的な性質で上記の手順を実行するにはどうすればよいかということです。

次のフィールドを持つ HTML で 1 つのフォームを作成し、送信時にそのドメインの新しい MySQL エントリを作成するとします。

編集:

Domain Type: select option or Radio Options ( Root/Sub-Domain )
Sub-Domain Name ( Optional ): Text field
Domain Name: Text field
Project Path: text field
Log Folder Path: text field
Tmp Folder Path: text field
Database Type: text field ( mysql/pgsql )
<Submit>

クリックするとボタンをクリックすると、 hostsファイルにドメイン エントリが、httpd-vhosts.confファイルに vhosts エントリが自動的に作成されます。

また、Apache サーバーを再起動すると、自動的に作成されたドメインまたはサブドメインが動的に実行されます。

ローカルシステムのみの任意の言語で次のことを確立する方法を誰でも知っていますか?

4

1 に答える 1

2

Web フォームを使用しないでください。バッチ ファイルで私のデモを見ることができます。

(1) vhost テンプレート template.txt を作成する

<VirtualHost *:90>
DocumentRoot "_ROOT_"
ServerName _DOMAIN_

# This should be omitted in the production environment
SetEnv APPLICATION_ENV development

<Directory "_ROOT_">
  Options Indexes MultiViews FollowSymLinks
  AllowOverride All
  Order allow,deny
  Allow from all
</Directory>

ErrorLog "_ROOT_/logs/error.log"// Logs folder should be exists
CustomLog "_ROOT_/logs/access.log" common

</VirtualHost>

(2) add_vhost.bat を作成する

@echo off  
set /p domain=Domain (www.mylocalsite2.com):   
set lineHost=127.0.0.1 %domain%  

REM Create the domain entry in hosts file  
echo %lineHost% >> C:\Windows\System32\drivers\etc\hosts  

set /p folder=Folder (C:/mylocalsite2.com/):   
REM Create vhost entry in httpd-vhosts.conf file  
setlocal enabledelayedexpansion  
for /f "tokens=*" %%i in (template.txt) do (  
    set str=%%i  
    set str=!str:_ROOT_=%folder%!  
    set str=!str:_DOMAIN_=%domain%!  
    echo !str! >> C:\wamp\bin\apache\apache2.2.22\conf\extra\httpd-vhosts.conf  
)  

(3) add_vhost.bat を管理者として実行 (HOSTS ファイルを書き込むため)

于 2013-10-04T19:32:16.793 に答える