| @技術/プログラミング
昨夜寝る前にダメ元でスクリプト動かして寝たところ、朝起きてTerminalを覗くとINSTALL COMPLETEの文字が。そういうわけでAmazon乞食エイトできるようになりました。が、XML...

昨夜寝る前にダメ元でスクリプト動かして寝たところ、朝起きてTerminalを覗くと

INSTALL COMPLETE

の文字が。

そういうわけでAmazon乞食エイトできるようになりました。

が、XMLRPC経由で投稿できなくなった。これは地味に困る。 :-!

とりあえず以下が僕が使ったシェルスクリプトです。どうしても入んなかったのはいくつかコメントアウトしてあります。DreamHostへのPHPインストールで困っている方、良かったら参考になさってください。

更新

XML-RPC経由で投稿できました。良かった良かった。

#!/bin/sh

# Script update 2009-09-22 by bhugh to work under dreamhost roughriders & include newer
#  versions of most items.
# Script updated 2008-09-23 by Skwerl (antiquiet.com) to work with dreamhost's debian etch
# Script updated 2007-11-24 by Andrew (ajmconsulting.net) to allow 3rd wget line to pass 
# Script updated 2006-12-25 by Carl McDade (hiveminds.co.uk) to allow memory limit and freetype
#
# LIBMCRYPT version information (was set as static download file name previously.)
#
# Save the code to a file as *.sh
# Abort on any errors
#
set -e

# The domain in which to install the PHP CGI script.
export DOMAIN="portalshit.net"

# Where do you want all this stuff built? I'd recommend picking a local
# filesystem.
# ***Don't pick a directory that already exists!***  We clean up after
# ourselves at the end!
SRCDIR=${HOME}/php5source

# And where should it be installed?
INSTALLDIR=${HOME}/php5

# Set DISTDIR to somewhere persistent, if you plan to muck around with this
# script and run it several times!
DISTDIR=${HOME}/php5dist

# Pre-download clean up!!!!
rm -rf $SRCDIR $DISTDIR

# Update version information here.
PHP5="php-5.2.11"
LIBICONV="libiconv-1.12"
LIBMCRYPT="libmcrypt-2.5.8"
LIBXML2="libxml2-2.7.2"
LIBXSLT="libxslt-1.1.24"
MHASH="mhash-0.9.9"
ZLIB="zlib-1.2.3"
CURL="curl-7.18.2"
LIBIDN="libidn-1.9"
CCLIENT="imap-2004g"
CCLIENT_DIR="imap-2004g" # Another pest!
FREETYPE="freetype-2.3.7"
OPENSSL="openssl-0.9.8i"

# What PHP features do you want enabled?
PHPFEATURES="--prefix=${INSTALLDIR} 
 --with-config-file-path=${INSTALLDIR}/etc/php5/${DOMAIN} 
 --enable-fastcgi 
 --enable-force-cgi-redirect 
 --enable-xmlrpc 
 --with-xmlrpc 
 --with-xml 
 --with-libxml-dir=${INSTALLDIR} 
 --with-freetype-dir=${INSTALLDIR} 
 --enable-soap 
 --with-openssl=${INSTALLDIR} 
 --with-mhash=${INSTALLDIR} 
 --with-mcrypt=${INSTALLDIR} 
 --with-zlib-dir=${INSTALLDIR} 
 --with-jpeg-dir=/usr 
 --with-png-dir=/usr 
 --with-gd 
 --enable-gd-native-ttf 
 --enable-memory-limit 
 --enable-ftp 
 --enable-exif 
 --enable-sockets 
 --enable-wddx 
 --with-iconv=${INSTALLDIR} 
 --enable-sqlite-utf8 
 --enable-calendar 
 --with-curl=${INSTALLDIR} 
 --enable-mbstring 
 --enable-mbregex 
 --enable-bcmath 
 --with-mysql=/usr 
 --with-mysqli 
 --without-pear 
 --with-gettext 
 --with-imap=${INSTALLDIR} 
 --without-imap-ssl
 --with-pdo-mysql"

# ---- end of user-editable bits. Hopefully! ----

# Push the install dir's bin directory into the path
export PATH=${INSTALLDIR}/bin:$PATH

# set up directories
mkdir -p ${SRCDIR}
mkdir -p ${INSTALLDIR}
mkdir -p ${DISTDIR}
cd ${DISTDIR}

# Get all the required packages
wget -c http://us.php.net/get/${PHP5}.tar.gz/from/this/mirror
wget -c http://mirrors.usc.edu/pub/gnu/libiconv/${LIBICONV}.tar.gz
wget -c http://easynews.dl.sourceforge.net/sourceforge/mcrypt/${LIBMCRYPT}.tar.gz
wget -c ftp://xmlsoft.org/libxml2/${LIBXML2}.tar.gz
wget -c ftp://xmlsoft.org/libxml2/${LIBXSLT}.tar.gz
wget -c http://internap.dl.sourceforge.net/sourceforge/mhash/${MHASH}.tar.gz
wget -c http://www.zlib.net/${ZLIB}.tar.gz
wget -c http://curl.haxx.se/download/${CURL}.tar.gz
wget -c http://kent.dl.sourceforge.net/sourceforge/freetype/${FREETYPE}.tar.gz
wget -c ftp://alpha.gnu.org/pub/gnu/libidn/${LIBIDN}.tar.gz
wget -c ftp://ftp.cac.washington.edu/imap/old/${CCLIENT}.tar.Z
wget -c http://www.openssl.org/source/${OPENSSL}.tar.gz

echo ---------- Unpacking downloaded archives. This process may take several minutes! ----------

cd ${SRCDIR}
# Unpack them all
echo Extracting ${PHP5}...
tar xzf ${DISTDIR}/${PHP5}.tar.gz
echo Done.
echo Extracting ${LIBICONV}...
tar xzf ${DISTDIR}/${LIBICONV}.tar.gz
echo Done.
echo Extracting ${LIBMCRYPT}...
tar xzf ${DISTDIR}/${LIBMCRYPT}.tar.gz
echo Done.
echo Extracting ${LIBXML2}...
tar xzf ${DISTDIR}/${LIBXML2}.tar.gz
echo Done.
echo Extracting ${LIBXSLT}...
tar xzf ${DISTDIR}/${LIBXSLT}.tar.gz
echo Done.
echo Extracting ${MHASH}...
tar xzf ${DISTDIR}/${MHASH}.tar.gz
echo Done.
echo Extracting ${ZLIB}...
tar xzf ${DISTDIR}/${ZLIB}.tar.gz
echo Done.
echo Extracting ${CURL}...
tar xzf ${DISTDIR}/${CURL}.tar.gz
echo Done.
echo Extracting ${LIBIDN}...
tar xzf ${DISTDIR}/${LIBIDN}.tar.gz
echo Done.
echo Extracting ${CCLIENT}...
uncompress -cd ${DISTDIR}/${CCLIENT}.tar.Z |tar x
echo Done.
echo Extracting ${FREETYPE}...
tar xzf ${DISTDIR}/${FREETYPE}.tar.gz
echo Done.
echo Extracting ${OPENSSL}...
tar xzf ${DISTDIR}/${OPENSSL}.tar.gz
echo Done.

# Build them in the required order to satisfy dependencies.

#libiconv
cd ${SRCDIR}/${LIBICONV}
./configure --enable-extra-encodings --prefix=${INSTALLDIR}
# make clean
make
make install

#libxml2
cd ${SRCDIR}/${LIBXML2}
./configure --with-iconv=${INSTALLDIR} --prefix=${INSTALLDIR}
# make clean
make
make install

#libxslt
cd ${SRCDIR}/${LIBXSLT}
./configure --prefix=${INSTALLDIR} 
 --with-libxml-prefix=${INSTALLDIR} 
 --with-libxml-include-prefix=${INSTALLDIR}/include/ 
 --with-libxml-libs-prefix=${INSTALLDIR}/lib/
# make clean
make
make install

#zlib
cd ${SRCDIR}/${ZLIB}
./configure --shared --prefix=${INSTALLDIR}
# make clean
make
make install

#libmcrypt
cd ${SRCDIR}/${LIBMCRYPT}
./configure --disable-posix-threads --prefix=${INSTALLDIR}
# make clean
make
make install

#libmcrypt lltdl issue!!
cd  ${SRCDIR}/${LIBMCRYPT}/libltdl
./configure --prefix=${INSTALLDIR} --enable-ltdl-install
# make clean
make
make install

#mhash
cd ${SRCDIR}/${MHASH}
./configure --prefix=${INSTALLDIR}
# make clean
make
make install

#freetype
cd ${SRCDIR}/${FREETYPE}
./configure --prefix=${INSTALLDIR}
# make clean
make
make install

#libidn
cd ${SRCDIR}/${LIBIDN}
./configure --with-iconv-prefix=${INSTALLDIR} --prefix=${INSTALLDIR}
# make clean
make
make install

#cURL
cd ${SRCDIR}/${CURL}
./configure --with-ssl=${INSTALLDIR} --with-zlib=${INSTALLDIR} 
  --with-libidn=${INSTALLDIR} --enable-ipv6 --enable-cookies 
  --enable-crypto-auth --prefix=${INSTALLDIR}
# make clean
make
make install

# c-client
cd ${SRCDIR}/${CCLIENT_DIR}
make -i ldb SSLTYPE=none
# Install targets are for wusses!
cp c-client/c-client.a ${INSTALLDIR}/lib/libc-client.a
cp c-client/*.h ${INSTALLDIR}/include

#OpenSSL
cd ${SRCDIR}/${OPENSSL}
./config --prefix=${INSTALLDIR} --openssldir=${INSTALLDIR}
make
make install

echo - about to build php5...
echo
read -p  "(Press any key to continue)" temp;
echo

#PHP 5
cd ${SRCDIR}/${PHP5}
./configure ${PHPFEATURES}
# make clean
make
make install

#copy config file
mkdir -p ${INSTALLDIR}/etc/php5/${DOMAIN}
cp ${SRCDIR}/${PHP5}/php.ini-dist ${INSTALLDIR}/etc/php5/${DOMAIN}/php.ini

#copy PHP CGI
mkdir -p ${HOME}/${DOMAIN}/cgi-bin
chmod 0755 ${HOME}/${DOMAIN}/cgi-bin
cp ${INSTALLDIR}/bin/php ${HOME}/${DOMAIN}/cgi-bin/php.cgi
rm -rf $SRCDIR $DISTDIR
echo ---------- INSTALL COMPLETE! ----------

この記事に似ている記事

  • Screenshot
    シェルの履歴から適当に拾ってCONFIGURE_OPTS="--with-readline-dir=`brew --prefix readline` --with-openssl-dir=`brew --prefix openssl` --w...
  • Gist og image
    youpyさん作のiTunesで聞いてる曲のレートが5だったらLast.fmに “Love” を送信してくれるやつを試してみようとした。cronで2分間隔とかで回して使うやつ。 love ☆☆...
  • 1067 bitbar jikoku
    BitBar で私家版通勤タイマー (2) - portal shit! の続き。時刻表を JSON 化した奴を食わせて 60 分以内(まえの記事では 30 分以内にしてるけど 60 分以内に変えた。パラメーターで調整できるようにすると良さそ...
  • Screenshot
    Ruby on RailsかCakePHPかどちらかをぼちぼち触ることにしたので、MacPortsで一通り環境を整えてました。いつまでもMAMPの世話になるのはやめようと思い、一個一個必要なものをインストールしていきました。Rails自体は簡...
  • Ec5709d5bc092085cac1751b3babf8d9
    仕事で開発中のシステムで、 master ブランチに Pull Request が Merge されると自動的に AWS ECS に構築した社内向けの確認環境にデプロイが行われるような仕組みを導入した。自動テスト、コンテナイメージのビルド、デ...
  • Applicationicon.175x175 75
    MacVim で Markdown 形式で文章を書いて Marked.app でプレビューしてた。 Marked.app 、便利なんだけどリストのネストの解釈が GitHub とかの Markdown と違ってて、スペース 4 つ入れないとい...

Comments


(Option)

(Option)