SQL ServerにApacheとPHPをインストールしてSFTPで編集ができるようにする。
OpenSSHのインストール
最新のOpenSSH-Win64.zipをダウンロードして"C:\opt\OpenSSH"に解凍する
パワーシェルを管理者権限で起動する
1 2 | PS C:\Windows\system32> PS C:\Windows\system32> cd c:\opt\OpenSSH |
1 | PS C:\opt\openssh> ssh -keygen .exe -A |
1 2 3 4 | PS C:\opt\openssh> ssh -keygen .exe -t rsa -f ssh_host_rsa_key PS C:\opt\openssh> ssh -keygen .exe -t dsa -f ssh_host_dsa_key PS C:\opt\openssh> ssh -keygen .exe -t ecdsa -f ssh_host_ecdsa_key PS C:\opt\openssh> ssh -keygen .exe -t ed25519 -f ssh_host_ed25519_key |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 | PS C:\opt\openssh> New -NetFirewallRule -Protocol TCP -LocalPort 22 -Direction Inbound -Action Allow -DisplayName SSH Name : {36417373-ef5f-41d8-884f-169ba7a142d5} DisplayName : SSH Description : DisplayGroup : Group : Enabled : True Profile : Any Platform : {} Direction : Inbound Action : Allow EdgeTraversalPolicy : Block LooseSourceMapping : False LocalOnlyMapping : False Owner : PrimaryStatus : OK Status : 規則は& #12289;ストアから正常に解析されました。 (65536) EnforcementStatus : NotApplicable PolicyStoreSource : PersistentStore PolicyStoreSourceType : Local |
1 | PS C:\opt\openssh> setup -ssh -lsa .cmd |
1 2 | PS C:\opt\openssh> sshd install Service installed successfully |
1 2 3 | PS C:\opt\openssh> net start sshd SSHD サービスを開始します. SSHD サービスは正常に開始されました& #12290; |
1 | PS C:\opt\openssh> Set-Service sshd -StartupType Automatic |
1 2 3 4 5 6 | local $ ssh admin@192.168.24.18 -p 22 bsadmin@192.168.24.18's password: Microsoft Windows [Version 6.3.9600] (c) 2013 Microsoft Corporation. All rights reserved. admin@SSVR10 C:\Users\admin> |
1 2 3 4 | # override default of no subsystems #Subsystem sftp /usr/libexec/sftp-server Subsystem sftp /win32openssh/bin/sftp-server .exe Subsystem scp /win32openssh/bin/scp .exe |
1 2 3 4 | # override default of no subsystems #Subsystem sftp /usr/libexec/sftp-server Subsystem sftp C:\opt\OpenSSH\ sftp -server.exe Subsystem scp C:\opt\OpenSSH\ scp .exe |
sshd再起動する
Apacheとphp
phpとApacheのVCバージョンは合わせる必要があります。phpがVC11ならApacheもVC11に、phpがVC14だとApacheもVC14とVCが同じでないと正しく動作しない場合があります。
Microsoft Visual C++ 2012 再頒布可能パッケージ (x64)
Apache 2.4.18 Win64とPHP 5.6 VC11 x64 Thread Safeをダウンロードする
httpd-2.4.18-win64-VC11.zipを解凍する。
できたApache24をC:\opt\Apache24に移動
php-5.6.19-Win32-VC11-x64.zipを解凍する。
php-5.6.19-Win32-VC11-x64をC:\opt\phpに変名する。
WindowsのPathにC:\opt\OpenSSH;c:\opt\php;を登録。
php.ini-productionからphp.iniを作製
php.iniを編集
1 2 | ; extension_dir = "ext" を extension_dir = "c:\opt\php\ext" |
1 2 3 4 5 6 7 8 | ;extension=php_bz2.dll ;extension=php_gd2.dll ;extension=php_mbstring.dll ;extension=php_mysql.dll ;extension=php_mysqli.dll ;extension=php_pdo_mysql.dll ;extension=php_pdo_odbc.dll ;extension=php_pdo_sqlite.dll |
1 2 | extension=php_sqlsrv_56_ts.dll extension=php_pdo_sqlsrv_56_ts.dll |
1 2 | ; date .timezone = date .timezone = 'Asia/Tokyo' |
マイクロソフトのサイトから
SQLSRV32.EXEをダウンロード
もしくは"Microsoft Drivers for PHP for SQL Server"を検索
SQLSRV32.EXEを解凍して
1 2 | php_sqlsrv_56_ts.dll php_pdo_sqlsrv_56_ts.dll |
Apache httpd.confの編集
ServerRoot、DocumentRoot等を設定します。1 2 3 4 5 6 | <directory /> Options FollowSymLinks AllowOverride All # AllowOverride none Require all denied </Directory> |
1 2 3 4 5 6 7 | DocumentRoot "c:/var/www/htdocs" <directory "c:/var/www/htdocs" > Options Indexes FollowSymLinks AllowOverride All # AllowOverride None Require all granted </Directory> |
1 2 3 | <ifmodule alias_module> ScriptAlias /cgi-bin/ "c:/var/www/cgi-bin/" </IfModule> |
1 2 3 4 5 | <directory "c:/var/www/cgi-bin" > AllowOverride None Options None Require all granted </Directory> |
1 | #LoadModule rewrite_module modules/mod_rewrite.so |
1 2 3 | LoadModule php5_module "C:/opt/php/php5apache2_4.dll" AddHandler application/x-httpd-php .php PHPIniDir "C:/opt/php" |
1 2 3 | <ifmodule dir_module> DirectoryIndex index.html index.php </IfModule> |
そしてIPアドレスとホスト名を指定します。
ローカルサーバーならこんな感じ。1 2 | Listen 127.0.0.1:80 ServerName localhost:80 |
次にApacheをWindowsのサービスとして登録します。コマンドプロンプトを管理者権限で起動してから、C:\opt\Apache24\binフォルダに移動します。そして httpd -k install と入力すると登録完了です。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 | Microsoft Windows [Version 6.3.9600] (c) 2013 Microsoft Corporation. All rights reserved. C:\Windows\system32>cd \opt\apache24\bin C:\opt\Apache24\bin>httpd -k install Installing the 'Apache2.4' service The 'Apache2.4' service is successfully installed. Testing httpd.conf.... Errors reported here must be corrected before the service can be started. AH00526: Syntax error on line 244 of C:/opt/Apache24/conf/httpd.conf: DocumentRoot must be a directory C:\opt\Apache24\bin> |
1 | PS C:\Windows\system32>New -NetFirewallRule -Protocol TCP -LocalPort 80 -Direction Inbound -Action Allow -DisplayName "Apache Web server" |
C:\var\www\cakephpにcakephp-2.7.x を解凍
webrootのジャンクションをhtdocsに作る
1 2 3 | cd \ var \www\htdocs mklink cake c\: var \www\cakephp\app\webroot mklink api c:\ var \www\cakephp\app-api\webroot |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 | C:\ var \www\htdocs>dir ドライブ C のボリューム ラベルがありません。 ボリューム シリアル番号は 0488-3DE3 です C:\ var \www\htdocs のディレクトリ 2016/03/11 17:47 <dir> . 2016/03/11 17:47 <dir> .. 2016/03/11 17:47 <junction> api [c:\ var \www\cakephp\app-api\webroot] 2016/03/11 17:46 <junction> cake [c:\ var \www\cakephp\app\webroot] 2007/06/11 20:53 46 index.html 2016/01/26 18:47 1,169 index.php 2016/01/19 11:39 16 info.php 3 個のファイル 1,231 バイト 4 個のディレクトリ 975,303,733,248 バイトの空き領域 C:\ var \www\htdocs> |
1 | <?php phpinfo(); |
0 件のコメント:
コメントを投稿