開発環境(XAMPP)のインストール

Webプログラミングの始め方

Webプログラミングを始めるには開発環境を用意する必要があります。

しかし、レンタルサーバーを借りたり、VPSやAWSを用意したりする必要はありません。

自分が持っているパソコンに開発環境をインストールすることによって、自分のパソコンが開発環境になるからです。

この記事では、自分のパソコンに開発環境をインストールする方法を解説します。

開発環境とは

Web開発における開発環境とは、まず、Webサービスを提供するWebサーバーを用意することから始まります。代表的なWebサーバーは、“Apache” です。

一般的に、“PHP” は “Apache” の内部で実行されて、HTMLとして出力されます。

一昔前の話をすると、昔は、Webプログラミングを始める人は、レンタルサーバーを借りて、レンタルサーバーにFTPでプログラムをアップし、ブラウザをリロードして動作を確認するという手順で開発を行っていました。

このような開発手法は現代ではとても非効率ですが、1995年頃は、このような開発手法が一般的でした。

しかし現代では、プログラムを書くWindowsやMacといったパソコンに開発環境をインストールし、FTPなどはせず、直接WindowsやMacでプログラムを動かし、デバッグし、完成したものをサーバーにアップするという手順で開発します。

ただし、Windowsには開発環境が付属していないため、WindowsでWebプログラミングを行うには、開発環境のインストールが必要です。そこで、Webプログラミングの開発環境としてデファクト・スタンダードなポジションを確立している “XAMPP for Windows” をインストールします。

Macには標準で、Apache、PHP、MySQLといった開発環境が最初からインストールされていますが、もう少し開発を便利にするために “XAMPP for Mac” をインストールする事をお勧めします。

XAMPPとは

XAMPPとは、Webサーバーの “Apache” 、プログラミング言語の “PHP” 、データベースの “MySQL” 、MySQLのデータをWebインターフェースで管理する “phpMyAdmin” といった開発環境をまとめ、運用しやすくしたパッケージです。

XAMPPのダウンロード

XAMPPは、以下のURLからダウンロードできます。

https://www.apachefriends.org/jp/index.html

XAMPPのダウンロード
XAMPPのダウンロード

ダウンロードは自動的に始まります。

おことわり

この記事ではMacでのインストール手順で説明します。一般的に、パソコンといえばWindowsだと思います。しかし、Web系の開発では圧倒的にMacが利用されています。これは開発言語を問わない傾向です。デバイスとしての見た目の美しさや操作性の良さもありますが、MacのOSはBSD系のUNIXという点が一番大きいでしょう。インターネットで広く使われている技術のほぼ全てが、デフォルトでインストールされています。

昨今のマイクロソフトは積極的にオープンソースに取り組んでおり、Windowsにも積極的にUNIX由来の技術がインストールされようとしています。ですから今後、この状況は変わるかもしれませんが、少なくとも2019年現在では、Macがベストと言えます。

XAMPPのインストール

ディスクイメージファイルがダウンロードされるので、クリックして起動して下さい。

 

以下のようなウィンドウが開きます。

XAMPPのインストール
XAMPPのインストール

インストールは、“XAMPP” アイコンを “アプリケーション・フォルダ” にドラッグ&ドロップするだけです。

 

 

XAMPPを起動する
XAMPPを起動する

“アプリケーション・フォルダ” を開くと、 “XAMPP” がインストールされているので、アイコンをクリックし起動します。

 

 

 

警告ダイアログ
警告ダイアログ

Macでは、インターネットからダウンロードしたアプリケーションを起動する際に、警告が表示されます。【開く】ボタンを押して問題ありません。

 

XAMPPからのお願い
XAMPPからのお願い

ダイアログが表示されます。これは、最初の起動時に管理者の権限でインストールを継続して下さいと書いてあります。

 

 

管理者の承認
管理者の承認

パスワードを入力して承認して下さい。

 

 

 

XAMPPの管理画面
XAMPPの管理画面

無事に起動できれば、管理画面が表示されます。

Statusが赤色になっています。

これは停止中を表しています。

【Start】ボタンを押すと、XAMPPが起動します。

 

 

XAMPPの管理画面
XAMPPの管理画面

Statusが緑色になっていれば、XAMPPの起動が成功しています。

このXAMPPの起動とは、Macの中で仮想マシンを起動させている状態です。

IP Address の 192.168.64.2 が、Macの内部で起動している仮想マシンのIPアドレスになります。

 

 

XAMPPの仮想マシンにアクセスする
XAMPPの仮想マシンにアクセスする

それではブラウザに、仮想マシンのIPアドレスを入力してアクセスしてみます。

 

 

XAMPPの仮想マシンにアクセスしたページ
XAMPPの仮想マシンにアクセスしたページ

XAMPPが動いている仮想マシンのWebサーバーにアクセスして、Webページが取得できました。

 

 

 

 

インストール作業は以上となります。

FAQ

以下のようなエラーが出る場合があるようです。

cannot calculate MAC address: dyld: Library not loaded: /System/Library/Frameworks/Hypervisor.framework/Versions/A/Hypervisor
Referenced from: /Users/phpbeginners/.bitnami/stackman/helpers/hyperkit
Reason: image not found

自分のホームディレクトリにある “.bitnami/stackman” を削除することで解決します。

“ターミナル ” という、UNIXの “シェル” という機能を使うアプリケーションがあり、このターミナルから以下のように打ち込みます。このコマンドは、自分のホームディレクトリにある “.bitnami/stackman” を削除する命令です。

“rm -rf ~/.bitnami/stackman”

JavaScriptのクロスオリジン

CORS – Cross-Origin Resource Sharing

クロスオリジンとは、異なるドメイン間でJavaScriptなどのAjaxを行う方法です。

JavaScript側の設定

スクリプトの読み込みを行うタグで crossorigin="anonymous" を付ける。

<script src="http://example.com/js/ajax.js" crossorigin="anonymous"></script>

サーバー側の設定

JavaScriptファイルの送信ヘッダーに Access-Control-Allow-Origin ヘッダーを付加します。

<?php header("Access-Control-Allow-Origin: *"); ?>

 

SELinuxを設定した後、PHPからメールが送れない → postfix fatal: setrlimit: Permission denied

SELinuxを設定した後、PHPからメールが送れない。

/var/log/maillogを確認すると、以下のようなエラーが出ているはず。

Mar 3 18:11:59 php postfix/sendmail[2237]: fatal: setrlimit: Permission denied

以下のコマンドでSELinuxの設定を確認できます。
sudo getsebool httpd_can_sendmail

httpd_can_sendmail –> off

いかのコマンドで、offからonに変更します。

sudo setsebool -P httpd_can_sendmail on

 

 

FTPのエラー → 500 OOPS: cannot change directory

SELinuxを有効にすると、

500 OOPS: cannot change directory: /home/developers

というようなエラーが出る。

これは、SELinuxがhomeディレクトリへのアクセスを禁止しているため。

次のコマンドで設定を変更する。

sudo setsebool -P ftp_home_dir 1

ただし、デフォルトではSELinuxは全てのFTPの設定を許可していません。

次のコマンドを入力すると、次のように出力されます。

sudo getsebool -a | grep ftp

allow_ftpd_anon_write –> off
allow_ftpd_full_access –> off
allow_ftpd_use_cifs –> off
allow_ftpd_use_nfs –> off
ftp_home_dir –> off
ftpd_connect_db –> off
httpd_enable_ftp_server –> off
sftpd_anon_write –> off
sftpd_enable_homedirs –> off
sftpd_full_access –> off
sftpd_write_ssh_home –> off
tftp_anon_write –> off

原則的には、意味を確認しながら一つずつ許可していくのですが、一般的には次のコマンドで全てを許可します。

sudo setsebool allow_ftpd_full_access on

個別に許可が必要な場合は、意味を調べて、必要な権限だけ許可して下さい。

Macでビットコイン(bitcoind)をビルド(コンパイル)する方法

ビットコインとは

言わずと知れた仮想通貨(本当は暗号通貨と呼ぶのが正しい)です。ビットコインとは、ブロックチェーンという出納台帳により、所有が保証されている資産です。(永遠不滅の資産です)

現在は、少額決済(コイン)として使うものではなく、長期保有による資産の保全となっています。(資産が増えるのは結果論ですが、需要と供給のバランスから高騰するのは当然といえるでしょう)

プログラムとしてのビットコイン

PHPからビットコインを操作したいというニーズは多いと思います。例えば、あなたが新規サービスを作成し、そのサービスへの対価としてビットコインを受け取りたいなどです。

結論から先に書けば、bitcoind というデーモン(常駐プログラム)を、あなたのサーバーで起動すれば、いわゆる支払いができるようになります。

bitcoind とは?

bitcoind とは、あなたのサーバー(サービス)に関わる売買記録をブロックチェーンに記録してくれるサービスです。

Macにビットコインをインストールするだけであれば、Homebrew や MacPorts に bitcoind のパッケージがあります。

それをインストールすれば、bitcoind の起動に必要な依存ライブラリも全てインストールされます。

Bitcoin Core について

ビットコインは、オープンソースソフトウェアです。ソースコードは github にあります。

これは、Satoshi Nakamoto のコミット履歴もある、ビットコインのリファレンス(公式実装)です。Bitcoin Core と呼ばれています。

リファレンスということは、bitcoind (bitcoin core)以外のビットコイン・プログラムもあるということです。

ビットコインとは、ブロックチェーンを読み書きするためのツールだといえます。これはC++で書かれた実装ですが、C# や Java や Go で書かれたライブラリもあります。もちろんPHPで書かれたライブラリもあります。

しかしながら、安定してビットコイン・ネットワークに参加するには、やはり bitcoind となるでしょう。

Bitcoin Core のダウンロード

それでは実際の作業を始めましょう。

まずは、bitcoin core をダウンロードします。

git clone https://github.com/bitcoin/bitcoin.git
cd bitcoin
ls -l

bitcoind のコンパイル(ビルド)

autogen.shconfigure は初期設定です。

make でコンパイル(ビルド)を行います。

make check でビルドをチェックします。

./autogen.sh
./configure --without-gui
make -j4
make check

--without-guiは、QTで作成されたウォレットアプリの作成をしないオプションです。

-j4は、ジョブ数を4つに増やすオプションです。この数字は、一般的にCPUのコア数に対して2倍が良いと言われています。

問題なければ src ディレクトリに bitcoind が作成されています。

src/bitcoind --version

バージョン情報が表示されましたか?

具体的な bitcoind の操作については、また次回。