No.5332 ローカル開発環境用にいちいちローカルドメインを hosts に書くのが面倒
環境追加するごとに hosts 書いていたけど、
127.0.0.1 がDNS登録されている
loopback.jp
lvh.me
などのドメインを使用すればいちいち hosts に書かなくてもOK
トップ > メモ一覧 > カテゴリ「開発環境」の絞り込み結果 : 11件
ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/opt/local/var/run/mysql5/mysqld.sock' (38)
初期化
sudo -u mysql mysql_install_db5
mysql起動
sudo /opt/local/share/mysql5/mysql/mysql.server start
※mysqlを動かそうとして以下のようなエラーが出たら、ソケットがな い、所有者が違う、mysqlの再起動をしていない、の原因が多い。
ç↑の解消のため、socketをつくり、所有者をmysqlに設定する
sudo mkdir -p /opt/local/var/run/mysql5 sudo touch /opt/loacl/var/run/mysql5/mysqld.sock sudo chown _mysql:_mysql /opt/local/var/run/mysql5/mysqld.sock
再起動
sudo /opt/local/share/mysql5/mysql/mysql.server restart
以前、Leopard(Mac OSX1.5)だった頃にMacPortsで開発環境構築する手順は書いておいたんだけど、Snow Leopardにアップグレードにして同じ事しようと思ったらオプションの指定などそのままではうまくいかないところが結構あったので、改めて手順をメ モっておこうと思います。
変化のないところは一部省略しちゃっているところもあるかもしれません。以前書いたエントリーも参考にしてください。
・ボクのMacBookができるまで:(5.開発環境構築編) [C!]
Xcode、X11のインストールは終わっている前提で始めます。
MacPorts自体をキレイに入れなおさないとうまくいきません。
まずはここからスタートです
@see http://trac.macports.org/wiki/FAQ#uninstall
アンインストールします。$ sudo port -f uninstall installedディレクトリもキレイにします。
$ sudo rm -rf /opt/local \ /Applications/MacPorts \ /Applications/DarwinPorts \ /Library/Tcl/macports1.0 \ /Library/Tcl/darwinports1.0 \ /Library/LaunchDaemons/org.macports.* \ /Library/StartupItems/DarwinPortsStartup \ /Library/Receipts/MacPorts*.pkg \ /Library/Receipts/DarwinPorts*.pkg \ ~/.macports
@see http://www.macports.org/install.php
インストーラーを落としてきて起動するだけ。
一応UPDATE$ sudo port -v selfupdateよく使うコマンド
$ sudo port install wget pstree subversion
→失敗。PerlがないといわれているのでPerlを先にいれてみる
$ sudo port install perl5あらためて
$ sudo port install wget pstree subversion libxml libxml2
§
$ sudo port install apache2自動起動に入れる場合
$ sudo launchctl load -w /Library/LaunchDaemons/org.macports.apache2.plist設定ファイルを編集して、ホームのサイトをDocumentRootにする
$ sudo vi /opt/local/apache2/conf/httpd.conf編集内容はこちら
## DocumentRoot を自分のホームのサイトへ変更 #DocumentRoot "/opt/local/apache2/htdocs" DocumentRoot /Users/yager/Sites ## 合わせてDirectoryディレクティブも変更 #<Directory "/opt/local/apache2/htdocs"> <Directory "/Users/yager/Sites"> # Localなので何でもありあり Options All AllowOverride All Order allow,deny Allow from all </Directory>設定を反映させるために再起動
$ sudo /opt/local/apache2/bin/apachectl configtest $ sudo /opt/local/apache2/bin/apachectl graceful
§
$ sudo port install mysql5 mysql5-server自動起動する場合はこちら
$ sudo launchctl load -w /Library/LaunchDaemons/org.macports.mysql5.plistDB初期化してみる
$ sudo -u mysql mysql_install_db5パスワードを設定する
$ /opt/local/lib/mysql5/bin/mysqladmin -u root password 'パスワード' $ /opt/local/lib/mysql5/bin/mysqladmin -u root -h localhost password 'パスワード' -pログイン
$ mysql5 -u root -pデータベース作成
mysql> create database test character set utf8;接続してmysqlユーザに権限付与
mysql> connect test; mysql> grant all on *.* to mysql@'%' identified by 'mysql' with grant option; mysql> grant all on *.* to mysql@localhost identified by 'mysql' with grant option;
§
$ sudo port install postgresql83 postgresql83-server環境変数PATHに追加
$ vi ~/.bash_profile追加内容
export PATH=/opt/local/lib/postgresql83/bin:/opt/local/lib/mysql5/bin:/opt/local/bin:/opt/local/sbin:$PATH必要なディレクトリを用意して初期化
$ sudo mkdir -p /opt/local/var/db/postgresql83/defaultdb $ sudo chown postgres /opt/local/var/db/postgresql83/defaultdb $ sudo -u postgres initdb -D /opt/local/var/db/postgresql83/defaultdb自動起動の設定
$ sudo launchctl load -w /Library/LaunchDaemons/org.macports.postgresql83-server.plistDB作成
$ sudo -u postgres createdb -E UTF-8 testpostgres ユーザでログインして、権限設定
$ psql test -U postgres test=# alter user postgres with password 'パスワード';テストテーブルつくってみる
test=# create table users ( id serial NOT NULL , name text not null , password text not null , description text , primary key (id) );
§
モジュールのインストール方法が大分変わったので注意。
PHP5本体インストール$ sudo port install php5 +apache2 +pear設定ファイルをコピー(いらないかも)
$ sudo cp /opt/local/etc/php5/php.ini-development /opt/local/etc/php5/php.iniApache2用にモジュール作成
$ cd /opt/local/apache2/modules $ sudo /opt/local/apache2/bin/apxs -a -e -n "php5" libphp5.so追加モジュールをインストール(php5-*っていう形になったんだね)
sudo port install php5-mysql php5-postgresql php5-sqlite php5-mbstring php5-curl php5-gd php5-exif php5-tidy php5-mcrypt php5-zip
§
色んなタイミングで、やり直しながらメモったものなのでどっか間違えてるかも。
気づいた方いたら教えてくださいませ。
ちなみに、普段はVirtualBoxにCentOS立てた環境使っているので、上記MacPortsで作成したアプリケーションは自動起動にしていませ ん。
使うときだけ手動起動する感じなんですが、起動コマンドがメンドイのでエイリアス作ってます。
$ vi ~/.bash_profile追記した内容
alias apache_start="sudo /opt/local/apache2/bin/apachectl start" alias apache_stop="sudo /opt/local/apache2/bin/apachectl stop" alias postgres_start="sudo -u postgres pg_ctl -D /opt/local/var/db/postgresql83/defaultdb start" alias postgres_stop="sudo -u postgres pg_ctl -D /opt/local/var/db/postgresql83/defaultdb stop" alias mysql_start="sudo /opt/local/lib/mysql5/bin/mysqld_safe &" alias mysql_stop="sudo /opt/local/bin/mysqladmin5 -u root -p shutdown"こうしとくと、使いたいときに、「apache_start」とか叩けばOKですので。
sudo port selfupdate sudo port -v install subversion +unicode_path sudo port install zsh-devel +cjk +doc +examples +mp_completion +pcre Vim sudo vi /etc/shells sudo vi ./zshenv export PATH=/opt/local/bin:/opt/local/sbin:$PATH export DISPLAY=:0.0 sudo port install git-core +svn sudo port install apache2 sudo vi /opt/local/apache2/conf/httpd.conf sudo launchctl load -w /Library/LaunchDaemons/org.macports.apache2.plist sudo /opt/local/apache2/bin/apachectl start sudo /opt/local/apache2/bin/apachectl stop sudo port install mysql5-devel +innodb_plugin sudo port install mysql5-server-devel sudo /opt/local/share/mysql5/mysql/mysql.server start mysql5 -u root sudo launchctl load -w /Library/LaunchDaemons/org.macports.mysql5.plist sudo port install php5-devel +apache2 +gmp +mysql5 +sqlite +pear sudo port install php5-apc sudo port install php5-syck sudo port install php5-xdebug sudo port install p5-app-ack sudo port install nkf