CentOSにMySQL,PHP,PDOをインストール
デフォルトで入っているのが色々古いのでできるだけ最新をインストール
ただソースからコンパイルしてもいいけど設定がめんどくさいのでyumでインストールします
yumもそのままだと古いので、まずはリポジトリを追加
wget http://download.fedora.redhat.com/pub/epel/5/i386/epel-release-5-4.noarch.rpm
wget http://rpms.famillecollet.com/enterprise/remi-release-5.rpm
rpm -Uvh remi-release-5.rpm epel-release-5-4.noarch.rpm
yum -y --enablerepo=remi,epel,rpmforge update php* mysql*
うまくいかない場合は1つずつ試します
yum -y --enablerepo=remi,epel,rpmforge update php
yum -y --enablerepo=remi,epel,rpmforge update php*
yum -y --enablerepo=remi,epel,rpmforge update mysql
yum -y --enablerepo=remi,epel,rpmforge update mysql*
あとはphpinfo()もしくはphp -i
で確認しながらhttpd.conf, php.ini, my.cnfを設定
私の環境ではhttpd.conf上のlibphp5.soのパスが間違っていたので
パスを修正(シンボリックリンクを貼り直し)して完了
libphp5.soの場所は次のコマンドで確認
locate libphp5.so
2010年12月3日時点でyumインストールの各バージョンは次の通り
PHP:5.3.3
MySQL:5.1.53
PHPは5.3.2だとタイムゾーンのエラーがでるので
php.iniに以下を設定
date.timezone = "Asia/Tokyo"
あとはmy.cnfに文字化け対策等すれば完了
必要があればremiリポジトリにphpmyadminも含まれているので必要に応じてインストール
色々インストールが終わったら追加したリポジトリは無効にしてた方がいいかもしれませんね。
/etc/yum.repo.d/の各.repoのenable=0に変更
2010年12月3日金曜日
2010年12月2日木曜日
apache関連の接続セキュリティ
80ポートでアクセスできないときは次の設定を見直すこと
ファイヤウォール設定
/etc/sysconfig/iptables
に以下を追記
-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 80 -j ACCEPT
iptablesを再起動
service iptables restart
SELinux設定
まず確認
getsebool -a | grep -e httpd
http関連のネットワークがoffだったらonにする
setsebool -P httpd_can_network_connect=on
ファイヤウォール設定
/etc/sysconfig/iptables
に以下を追記
-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 80 -j ACCEPT
iptablesを再起動
service iptables restart
SELinux設定
まず確認
getsebool -a | grep -e httpd
http関連のネットワークがoffだったらonにする
setsebool -P httpd_can_network_connect=on
Dropboxインストール CentOS5.5 CUI環境
pythonのバージョンが古いとDropboxのインストーラが動かないので
まずはpythonをインストール
今回は2.7.1
#wget http://www.python.org/ftp/python/2.7.1/Python-2.7.1.tgz
#tar zxvf Python-2.7.1.tgz
#cd Python-2.7.1
#./configure --prefix=/usr/local/Python-2.7.1
#make
#make install
# ln -s /usr/local/Python-2.7.1 /usr/local/Python
以下ユーザのhomeディレクトリで作業
$wget https://www.dropbox.com/download?dl=packages/dropbox.py
$chmod a+x dropbox.py
$mkdir bin
$mv dropbox.py bin/dropbox
dropboxのインストール
$/usr/local/Python/bin/python bin/dropbox start --install
ダウンロードされた dropbox.tar.gzを解凍
$tar zxvf dropbox.tar.gz
.dropbox-distが作成される
Dropboxの共有ディレクトリを作成
$mkdir Dropbox
一度dropboxを起動して .dropboxを作成
$ /usr/local/Python/bin/python bin/dropbox start
.dropboxが作成されたのを確認して停止
$ /usr/local/Python/bin/python bin/dropbox stop
共有するためのhost_idを取得する
$sqlite3 .dropbox/dropbox.db 'SELECT * FROM config;'
4|host_id|VXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX=
このVXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX=
をbase64デコードする
Base64Decode
ここで得られた
Vxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
のxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxの部分がHOST_ID
dropboxへログインした状態で次のアドレスにアクセスし、アカウントの紐付けをする
https://www.dropbox.com/cli_link?host_id=HOST_ID
dropboxを開始
/usr/local/Python/bin/python bin/dropbox start
ファイルのダウンロード確認
/usr/local/Python/bin/python bin/dropbox status
あとは適当に起動スクリプト等書いて実行すると便利
参考までに
# chkconfig: 2345 85 15
# description: Startup script for dropbox daemon
#
# processname: dropboxd
# pidfile: /var/run/dropbox.pid
# config: /etc/sysconfig/dropbox
#
### BEGIN INIT INFO
# Provides: dropboxd
# Required-Start: $local_fs $network $syslog
# Required-Stop: $local_fs $syslog
# Should-Start: $syslog
# Should-Stop: $network $syslog
# Default-Start: 2 3 4 5
# Default-Stop: 0 1 6
# Short-Description: Start up the Dropbox file syncing daemon
# Description: Dropbox is a filesyncing sevice provided by dropbox.com
# This service starts up the dropbox daemon.
### END INIT INFO
# Source function library.
. /etc/rc.d/init.d/functions
# To configure, add line with DROPBOX_USERS="user1 user2" to /etc/sysconfig/dropbox
# Probably should use a dropbox group in /etc/groups instead.
DROPBOX_USERS="user"
prog=dropboxd
lockfile=${LOCKFILE-/var/lock/subsys/$prog}
RETVAL=0
start() {
echo -n $"Starting $prog"
for dbuser in $DROPBOX_USERS; do
daemon --user $dbuser /bin/sh -c "/home/$dbuser/.dropbox-dist/dropboxd&"
done
RETVAL=$?
echo
[ $RETVAL = 0 ] && touch ${lockfile}
return $RETVAL
}
status() {
for dbuser in $DROPBOX_USERS; do
dbpid=`pgrep -u $dbuser dropbox`
if [ -z $dbpid ] ; then
echo "dropboxd for USER $dbuser: not running."
else
echo "dropboxd for USER $dbuser: running (pid $dbpid)"
fi
done
}
stop() {
echo -n $"Stopping $prog"
for dbuser in $DROPBOX_USERS; do
killproc /home/$dbuser/.dropbox-dist/dropbox
done
RETVAL=$?
echo
[ $RETVAL = 0 ] && rm -f ${lockfile} ${pidfile}
}
# See how we were called.
case "$1" in
start)
start
;;
status)
status
;;
stop)
stop
;;
restart)
stop
start
;;
*)
echo $"Usage: $prog {start|status|stop|restart}"
RETVAL=3
esac
exit $RETVAL
まずはpythonをインストール
今回は2.7.1
#wget http://www.python.org/ftp/python/2.7.1/Python-2.7.1.tgz
#tar zxvf Python-2.7.1.tgz
#cd Python-2.7.1
#./configure --prefix=/usr/local/Python-2.7.1
#make
#make install
# ln -s /usr/local/Python-2.7.1 /usr/local/Python
以下ユーザのhomeディレクトリで作業
$wget https://www.dropbox.com/download?dl=packages/dropbox.py
$chmod a+x dropbox.py
$mkdir bin
$mv dropbox.py bin/dropbox
dropboxのインストール
$/usr/local/Python/bin/python bin/dropbox start --install
ダウンロードされた dropbox.tar.gzを解凍
$tar zxvf dropbox.tar.gz
.dropbox-distが作成される
Dropboxの共有ディレクトリを作成
$mkdir Dropbox
一度dropboxを起動して .dropboxを作成
$ /usr/local/Python/bin/python bin/dropbox start
.dropboxが作成されたのを確認して停止
$ /usr/local/Python/bin/python bin/dropbox stop
共有するためのhost_idを取得する
$sqlite3 .dropbox/dropbox.db 'SELECT * FROM config;'
4|host_id|VXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX=
このVXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX=
をbase64デコードする
Base64Decode
ここで得られた
Vxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
のxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxの部分がHOST_ID
dropboxへログインした状態で次のアドレスにアクセスし、アカウントの紐付けをする
https://www.dropbox.com/cli_link?host_id=HOST_ID
dropboxを開始
/usr/local/Python/bin/python bin/dropbox start
ファイルのダウンロード確認
/usr/local/Python/bin/python bin/dropbox status
あとは適当に起動スクリプト等書いて実行すると便利
参考までに
# chkconfig: 2345 85 15
# description: Startup script for dropbox daemon
#
# processname: dropboxd
# pidfile: /var/run/dropbox.pid
# config: /etc/sysconfig/dropbox
#
### BEGIN INIT INFO
# Provides: dropboxd
# Required-Start: $local_fs $network $syslog
# Required-Stop: $local_fs $syslog
# Should-Start: $syslog
# Should-Stop: $network $syslog
# Default-Start: 2 3 4 5
# Default-Stop: 0 1 6
# Short-Description: Start up the Dropbox file syncing daemon
# Description: Dropbox is a filesyncing sevice provided by dropbox.com
# This service starts up the dropbox daemon.
### END INIT INFO
# Source function library.
. /etc/rc.d/init.d/functions
# To configure, add line with DROPBOX_USERS="user1 user2" to /etc/sysconfig/dropbox
# Probably should use a dropbox group in /etc/groups instead.
DROPBOX_USERS="user"
prog=dropboxd
lockfile=${LOCKFILE-/var/lock/subsys/$prog}
RETVAL=0
start() {
echo -n $"Starting $prog"
for dbuser in $DROPBOX_USERS; do
daemon --user $dbuser /bin/sh -c "/home/$dbuser/.dropbox-dist/dropboxd&"
done
RETVAL=$?
echo
[ $RETVAL = 0 ] && touch ${lockfile}
return $RETVAL
}
status() {
for dbuser in $DROPBOX_USERS; do
dbpid=`pgrep -u $dbuser dropbox`
if [ -z $dbpid ] ; then
echo "dropboxd for USER $dbuser: not running."
else
echo "dropboxd for USER $dbuser: running (pid $dbpid)"
fi
done
}
stop() {
echo -n $"Stopping $prog"
for dbuser in $DROPBOX_USERS; do
killproc /home/$dbuser/.dropbox-dist/dropbox
done
RETVAL=$?
echo
[ $RETVAL = 0 ] && rm -f ${lockfile} ${pidfile}
}
# See how we were called.
case "$1" in
start)
start
;;
status)
status
;;
stop)
stop
;;
restart)
stop
start
;;
*)
echo $"Usage: $prog {start|status|stop|restart}"
RETVAL=3
esac
exit $RETVAL
登録:
投稿 (Atom)