ubuntu-wily-daily-amd64-server-20151209 (Ubuntu 15.10)
SSH, HTTP を許可
xxx.xxx.xxx.xxx -> EC2インスタンスに割り当て
aws.your.domain A xxx.xxx.xxx.xxx 追加
$ ssh -i ~/.ssh/aws.pem ubuntu@aws.groovelab.asia
$ cat /etc/lsb-release
$ uname -a
$ sudo dpkg-reconfigure tzdata
最新のスナップショットは swift.org で確認
$ wget https://swift.org/builds/ubuntu1510/swift-2.2-SNAPSHOT-2015-12-22-a/swift-2.2-SNAPSHOT-2015-12-22-a-ubuntu15.10.tar.gz
$ tar xzf swift-2.2-SNAPSHOT-2015-12-22-a-ubuntu15.10.tar.gz
$ cd swift-2.2-SNAPSHOT-2015-12-22-a-ubuntu15.10/
$ sudo chown -R root:root usr/
$ cd usr
$ cp -fR ./* /usr/
$ sudo apt-get update
$ sudo apt-get upgrade
$ sudo apt-get -y install clang libicu-dev
$ sudo apt-get clean
$ swift --version
$ swift
- 公式サイト PerfectLib
- 公式ドキュメント Github
$ sudo apt-get -y install libssl-dev libevent-dev libsqlite3-dev
$ sudo apt-get -y install make
$ sudo apt-get -y install make-guile
$ cd ~
$ mkdir swift
$ cd swift
$ git clone https://github.com/PerfectlySoft/Perfect.git
$ cd Perfect/PerfectLibls
$ make clean
$ make
$ sudo make install
$ ls /usr/local/lib/*Perfect*
$ cd ~/swift
$ cd Perfect/PerfectServer
$ make clean
$ make
$ cd /usr/local/bin/
$ sudo ln -s ~/swift/Perfect/PerfectServer/perfectserverfcgi
$ sudo ln -s ~/swift/Perfect/PerfectServer/perfectserverhttp
$ ls -al /usr/local/bin/perfect*
Perfect Server HTTP はport:8181 でHTTPリクエストを受け付けるSwift製Webサーバ
$ cd /var/www
$ sudo vi perfectServerHttp.sh
$ sudo ./perfectServerHttp.sh start
$ sudo ./perfectServerHttp.sh start
$ sudo ./perfectServerHttp.sh stop
$ sudo ./perfectServerHttp.sh restart
http://aws.your.domain:8181 へアクセス
Perfect Server FastCGI はApacheからFastCGIとしてリクエストを処理するインターフェース
以下、Perfect Server Httpは起動せず、Perfect Server FastCGIのみを起動する
$ cd /var/www
$ sudo vi perfectServerFcgi.sh
$ sudo ./perfectServerFcgi.sh start
$ sudo ./perfectServerFcgi.sh start
$ sudo ./perfectServerFcgi.sh stop
$ sudo ./perfectServerFcgi.sh restart
$ sudo apt-get -y install apache2
$ cd Connectors/mod_perfect/
$ make
$ sudo mv mod_perfect.so /usr/lib/apache2/modules/
$ sudo chown root:root /usr/lib/apache2/modules/mod_perfect.so
$ sudo chmod 644 /usr/lib/apache2/modules/mod_perfect.so
$ ls -al /usr/lib/apache2/modules/mod_perfect.so
$ cd /etc/apache2
$ sudo vi mods-available/perfect.load
$ sudo a2enmod perfect
$ sudo a2enmod rewrite
$ sudo cp sites-available/000-default.conf sites-available/000-default.conf.org
$ sudo vi sites-available/000-default.conf
$ sudo service apache2 start
http://aws.your.domain へアクセス
$ cd ~/swift/Perfect/Examples/
$ make
$ cd /var/www
$ sudo mkdir PerfectLibraries
$ sudo ln -s ~/swift/Perfect/Examples/URL\ Routing/URLRouting.so
$ sudo ln -s ~/swift/Perfect/Examples/Authenticator/AuthenticatorServer.so
$ sudo ln -s ~/swift/Perfect/Examples/Upload\ Enumerator/UploadEnumerator.so
$ sudo ln -s ~/swift/Perfect/Examples/Tap\ Tracker/TapTrackerServer.so
$ cd /var/www
$ cd html
$ sudo mkdir authenticator
$ sudo mkdir taptracker
$ sudo mkdir uploadfile
$ sudo cp ~/swift/Perfect/Examples/Authenticator/Authenticator/*.mustache authenticator/
$ sudo cp ~/swift/Perfect/Examples/Upload\ Enumerator/Upload\ Enumerator/*.mustache uploadfile/
$ sudo cp ~/swift/Perfect/Examples/Tap\ Tracker/*.mustache taptracker/
$ ./perfectServerFcgi.sh restart