Home > Tags > Apache
Apache
[Mac]SnowLeopardで開発環境構築するよ – MacPortsでApache、PHP、MySQL、PostgreSQLをインストールする[SnowLeopard]
- Apacheをインストール
- インストール
$ sudo port install apache2
- 自動起動設定
$ sudo launchctl load -w /Library/LaunchDaemons/org.macports.apache2.plist
- httpd.confを編集
$ sudo vi /opt/local/apache2/conf/httpd.conf
ServerAdmin you@example.com ↓ ServerAdmin webmaster@localhost ServerName www.example.com:80 ↓ ServerName localhost DocumentRoot "/opt/local/apache2/htdocs" ↓ DocumentRoot "/Users/bubbkis/Sites" <Directory /> Options FollowSymLinks AllowOverride None # Order deny,allow ←コメントアウト追加 # Deny from all ←コメントアウト追加 </Directory> <Directory "/opt/local/apache2/htdocs"> ↓ <Directory "/Users/bubbkis/Sites"> ## <Directory "/Users/bubbkis/Sites">内のOptionsとAllowOverrideを以下の様に修正。 Options Indexes Includes ExecCGI FollowSymLinks MultiViews AllowOverride All DirectoryIndex index.html ↓ DirectoryIndex index.php index.html index.htm ## <Directory "/opt/local/apache2/cgi-bin">内のOptionsを以下の様に修正。 Options Indexes Includes ExecCGI FollowSymLinks MultiViews #AddHandler cgi-script .cgi ↓ AddHandler cgi-script .cgi .pl .rb #Include conf/extra/httpd-languages.conf ↓ Include conf/extra/httpd-languages.conf #Include conf/extra/httpd-default.conf ↓ Include conf/extra/httpd-default.conf
- Apache起動
$ /opt/local/apache2/bin/apachectl configtest $ sudo /opt/local/apache2/bin/apachectl graceful
- インストール
- MySQLをインストール
- インストール
$ sudo port install mysql5 +innodb_plugin $ sudo port install mysql5-server
- 初期化
$ sudo -u mysql mysql_install_db5
- MySQL起動
$ sudo /opt/local/share/mysql5/mysql/mysql.server start
- 自動起動設定
$ sudo launchctl load -w /Library/LaunchDaemons/org.macports.mysql5.plist
- MySQLのrootアカウントへパスワードを設定
$ /opt/local/lib/mysql5/bin/mysqladmin -u root password '******'
$ mysql -u root -p mysql> select user,host,password from mysql.user; mysql> set password for root@'bubbkis-MacBook.llocal'=password('パスワード'); mysql> set password for root@'127.0.0.1'=password('パスワード'); mysql> exit - MySQL設定ファイル編集
$ sudo cp /opt/local/share/mysql5/mysql/my-medium.cnf /opt/local/etc/mysql5/my.cnf $ sudo vi /opt/local/etc/mysql5/my.cnf
##[mysqld]の項目へ追加 character-set-server = utf8 collation-server = utf8_unicode_ci init-connect = 'SET NAMES utf8' skip-character-set-client-handshake ##[mysqldump]の項目へ追加 default-character-set = utf8 ##[mysql]の項目へ追加 default-character-set = utf8
- MySQL再起動
$ sudo /opt/local/share/mysql5/mysql/mysql.server restart
- インストール
- PostgreSQLをインストール(2009/12/01現在、phpがpostgresql83までしか対応してない)
- インストール
$ sudo port install postgresql83 +perl +python $ sudo port install postgresql83-server
- 自動起動設定
$ sudo launchctl load -w /Library/LaunchDaemons/org.macports.postgresql83-server.plist
- 初期化
$ sudo mkdir -p /opt/local/var/db/postgresql83/defaultdb $ sudo chown postgres:postgres /opt/local/var/db/postgresql83/defaultdb $ sudo su postgres -c '/opt/local/lib/postgresql83/bin/initdb -D /opt/local/var/db/postgresql83/defaultdb'
- PostgreSQL起動
$ sudo su postgres -c '/opt/local/lib/postgresql83/bin/postgres -D /opt/local/var/db/postgresql83/defaultdb' or $ sudo su postgres -c '/opt/local/lib/postgresql83/bin/pg_ctl -D /opt/local/var/db/postgresql83/defaultdb start'
- PL/pgSQL && dblinkをインストール
$ sudo su postgres sh-3.2$ createdb testdb sh-3.2$ /opt/local/lib/postgresql83/bin/createlang plpgsql testdb sh-3.2$ psql -U postgres -d testdb < /opt/local/var/macports/software/postgresql83/8.3.8_1/opt/local/share/postgresql83/contrib/dblink.sql
インストール後、これらを使いたい場合は「testdb」をテンプレートDBとして新規DBを作成し使う。
- postgresアカウントへパスワードを設定
sh-3.2$ psql template1 template1=# alter user postgres with password '******'; template1=# \q
- 一般ユーザへのデータベース作成権限設定
sh-3.2$ createuser -AdPE bubbkis sh-3.2$ exit
- PostgreSQL設定ファイル編集
postgresql.confを編集。$ sudo vi /opt/local/var/db/postgresql83/defaultdb/postgresql.conf
#listen_addresses = 'localhost' ↓ listen_addresses = '*'
pg_hba.confを編集
$ sudo vi /opt/local/var/db/postgresql83/defaultdb/pg_hba.conf
#追記 host all all 0.0.0.0 0.0.0.0 password
- PostgreSQL再起動
$ sudo su postgres -c '/opt/local/lib/postgresql83/bin/pg_ctl -D /opt/local/var/db/postgresql83/defaultdb restart'
- インストール
- PHPをインストール
- いろいろインストール
$ sudo port install php5 +apache2 +mysql5 +pear +postgresql83 +sqlite $ sudo port install php5-curl $ sudo port install php5-exif $ sudo port install php5-gd $ sudo port install php5-gettext $ sudo port install php5-imagick $ sudo port install php5-mbstring $ sudo port install php5-mcrypt $ sudo port install php5-mysql $ sudo port install php5-postgresql +postgresql83 $ sudo port install php5-readline $ sudo port install php5-sqlite $ sudo port install php5-sqlite3 $ sudo port install php5-xmlrpc $ sudo port install php5-zip $ sudo port install php5-zlib $ sudo pear upgrade PEAR
- ApacheへPHPモジュールを読み込ませる
$ cd /opt/local/apache2/modules $ sudo /opt/local/apache2/bin/apxs -a -e -n "php5" libphp5.so
- PHP設定ファイル編集
$ sudo cp /opt/local/etc/php5/php.ini-development /opt/local/etc/php5/php.ini or $ sudo cp /opt/local/etc/php5/php.ini-production /opt/local/etc/php5/php.ini $ sudo vi /opt/local/etc/php5/php.inimax_execution_time = 30 ↓ max_execution_time = 0 post_max_size = 8M ↓ post_max_size = 64M upload_max_filesize = 2M ↓ upload_max_filesize = 64M ;date.timezone = ↓ date.timezone = Asia/Tokyo mysql.default_socket = ↓ mysql.default_socket = /opt/local/var/run/mysql5/mysqld.sock mysqli.default_socket = ↓ mysqli.default_socket = /opt/local/var/run/mysql5/mysqld.sock pdo_mysql.default_socket = ↓ pdo_mysql.default_socket = /opt/local/var/run/mysql5/mysqld.sock
- Apache設定ファイル編集
$ sudo vi /opt/local/apache2/conf/httpd.conf
# 追記 Include conf/extra/mod_php.conf
- Apache再起動
$ sudo /opt/local/apache2/bin/apachectl restart
- いろいろインストール
このインストールしたPHPはバージョンが5.3なんで注意。MacPortsにまだ5.2系が残ってたけど、モジュール類が5.3対応となってたんで5.2系はインストールしませんでした。
ただこれまで5.2系で開発してたんで5.3にバージョン上げると動きませんorz
5.3系の環境も欲しかったのでMacPortsは5.3な環境。
5.2系の環境も必須なんでVMwareFusionにCentOSなりDebianなりをインストールして環境を作ることにしました。
- Comments: 0
- Trackbacks: 0
[CentOS]Apacheアクセスログ解析にVisitorsをインストールしたメモ。[Apache]
このore.saizensen.netでも使ってきてたApacheアクセスログ解析ソフト「Visitors」を別のサーバーにもインストールしたので、ここにメモ書き程度に残しておきます。
グラフ化しても、たいして見ないのでgraphvizはインストールしません、私は。
- 日本語対応の為に、nkfをインストール。
# yum -y install nkf
- Visitorsの取得 && インストール。
# cd /usr/local/src # wget http://www.hping.org/visitors/visitors-0.7.tar.gz # tar zxvf visitors-0.7.tar.gz # cd visitors_0.7 # make # cp visitors /usr/bin/ # cd
- アクセスログ解析結果出力ティレクトリ作成。
# mkdir /var/www/html/log # chown hoge.hoge /var/www/html/log
- アクセスログ解析スクリプト作成。
# vi accesslog.sh #!/bin/bash # ユーザーネームを記載 username=hoge # アクセス解析用ディレクトリを記載 addlog=/var/www/html/log/ # このスクリプトのログファイル名を記載 logfile=/var/log/logsearch.log function logsearch { date '+%Y/%m/%d(%a) %T' for a in `find /var/log/httpd/* -mtime -2` do log=`basename $a` visitors -A -m 30000 $a -o html > $addlog$log nkf -w -m0 $addlog$log > $addlog$log.html rm -f $addlog$log done } logsearch >> $logfile 2>&1 echo "" >> $logfile; echo "" >> $logfile; chown -R $username:$username $addlog - 作成したaccesslog.shを実行 && cronへ。
# chmod +x accesslog.sh # ./accesslog.sh # mv accesslog.sh /etc/cron.daily/
- アクセスログ公開ティレクトリへ.htaccess設置。↓中身。
Options Indexes Includes ExecCGI FollowSymLinks MultiViews AuthUserFile /etc/httpd/conf/.htpasswd AuthGroupFile /dev/null AuthName "Apache Logs" AuthType Basic require user hoge
終了です。hogeって書いてる所は適当に直してね。
- Comments: 0
- Trackbacks: 0
Home > Tags > Apache
- Search
- Feeds
- Meta