2011-07-22
2011-07-27
2011-08-12
2017-05-24
since 2012-02-19
macOS をメジャーバージョンアップした場合の MacPorts の再インストール手順
2015-12-31
2016-01-01
以下、過去のメモ
2010-11-12
snow leopard で Linux / BSD 系のソフトウェアをインストールするためのツールらしい。
試している環境 Mac OS X 10.6.5
$ uname -a Darwin **** 10.5.0 Darwin Kernel Version 10.5.0: Fri Nov 5 23:20:39 PDT 2010; root:xnu-1504.9.17~1/RELEASE_I386 i386 $ gcc -v Using built-in specs. Target: i686-apple-darwin10 Configured with: /var/tmp/gcc/gcc-5659~1/src/configure --disable-checking --enable-werror --prefix=/usr --mandir=/share/man --enable-languages=c,objc,c++,obj-c++ --program-transform-name=/^[cg][^.-]*$/s/$/-4.2/ --with-slibdir=/usr/lib --build=i686-apple-darwin10 --program-prefix=i686-apple-darwin10- --host=x86_64-apple-darwin10 --target=i686-apple-darwin10 --with-gxx-include-dir=/include/c++/4.2.1 Thread model: posix gcc version 4.2.1 (Apple Inc. build 5659)
ちなみに java はこういう環境。
$ which javac /usr/bin/javac $ javac -version javac 1.6.0_22
2014-06-16
https://trac.macports.org/ticket/30507
$ sudo port -d selfupdate
こういうメッセージが出る:
Warning: The Xcode Command Line Tools don't appear to be installed; most ports will likely fail to build. Warning: Install them by running `xcode-select --install'.
言われたとおりにする:
$ xcode-select --install
mercurial も git も db46 のせいでうまく入れられないので調べた。
$ sudo ln -s /Developer/SDKs/MacOSX10.6.sdk/System/Library/Frameworks/JavaVM.framework/Versions/CurrentJDK/Headers /System/Library/Frameworks/JavaVM.framework/Versions/CurrentJDK/Headers $ sudo port install db46
やっと成功。
以下、うまくいかなかった手順。微妙に違う。
http://d.hatena.ne.jp/WaterFlea/20101103/1288766068
やってみる:
$ sudo ln -s /Developer/SDKs/MacOSX10.6.sdk/System/Library/Frameworks/JavaVM.framework/Headers /System/Library/Frameworks/JavaVM.framework/Headers
うまくいかない:
Error: db46 requires the Java for Mac OS X development headers. Error: Download the Java Developer Package from: <https://connect.apple.com/cgi-bin/WebObjects/MemberSite.woa/wa/getSoftware?bundleID=20719>
since 2012-01-30
nltk をいじったついでに py27-scipy を入れたら gcc44 が入ってしまった。mp は mac ports の意味らしい:
$ which gcc-mp-4.4 /opt/local/bin/gcc-mp-4.4 $ gcc-mp-4.4 -v Using built-in specs. Target: x86_64-apple-darwin10 Configured with: ../gcc-4.4.6/configure --prefix=/opt/local --build=x86_64-apple-darwin10 --enable-languages=c,c++,objc,obj-c++,java,fortran --libdir=/opt/local/lib/gcc44 --includedir=/opt/local/include/gcc44 --infodir=/opt/local/share/info --mandir=/opt/local/share/man --with-local-prefix=/opt/local --with-system-zlib --disable-nls --program-suffix=-mp-4.4 --with-gxx-include-dir=/opt/local/include/gcc44/c++/ --with-gmp=/opt/local --with-mpfr=/opt/local --enable-stage1-checking --disable-multilib --enable-fully-dynamic-string Thread model: posix gcc version 4.4.6 (GCC)
自分でバージョンを指定して入れるのはこんな感じでよいらしい:
$ sudo port install gcc46 $ sudo port install gcc47
$ which gcc-mp-4.6 /opt/local/bin/gcc-mp-4.6 $ which gcc-mp-4.7 /opt/local/bin/gcc-mp-4.7
since 2012-02-07
Snow Leopard の Web 共有から移行してみる。
パーフェクトPHP にもさらっと書いているし、あちこちに書かれているけど。。
資料 Apache + MySQL + PHP + phpMyadmin の環境構築
システム環境設定「共有」の Web共有 を切る。同じくシステム環境設定の MySQL を止める。
sudo port selfupdate sudo port upgrade outdated
sudo port install apache2 sudo launchctl load -w /Library/LaunchDaemons/org.macports.apache2.plist sudo cp /opt/local/apache2/conf/httpd.conf /opt/local/apache2/conf/httpd.conf.orig
これで http : / / localhost / が it works になる
sudo port install php5 +apache2 +mysql5 +sqlite +pear sudo cp /opt/local/etc/php5/php.ini-development /opt/local/etc/php5/php.ini
sudo emacs -nw /opt/local/apache2/conf/httpd.conf
# 追記 PHPIniDir "/opt/local/etc/php5" # 拡張子設定 IfModule に追記 AddType application/x-httpd-php .php
cd /opt/local/apache2/modules/ sudo /opt/local/apache2/bin/apxs -a -e -n "php5" libphp5.so
# 確認 grep libphp5 /opt/local/apache2/conf/httpd.conf # 出力 LoadModule php5_module modules/libphp5.so
下記のように空白を1個に減らした(何かのエラーを回避できた気がするが詳細不明):
LoadModule php5_module modules/libphp5.so
sudo /opt/local/apache2/bin/apachectl restart
エラーログの場所 /opt/local/apache2/logs/error_log
PHP の timezone 設定しておく:
$ sudo emacs -nw /opt/local/etc/php5/php.ini date.timezone = 'Asia/Tokyo'
続いて mysql5 を入れる。/usr/local/mysql/bin/mysql がすでに入っているので注意しつつ:
sudo port install mysql5 sudo port install mysql5-server sudo launchctl load -w /Library/LaunchDaemons/org.macports.mysql5.plist sudo -u mysql /opt/local/bin/mysql_install_db5
出てくるメッセージの一部:
セキュリティ対応: /opt/local/lib/mysql5/bin/mysqladmin -u root password 'new-password' /opt/local/lib/mysql5/bin/mysqladmin -u root -h pc-nishi2011a-2.local password 'new-password' または /opt/local/lib/mysql5/bin/mysql_secure_installation デーモン起動: cd /opt/local ; /opt/local/lib/mysql5/bin/mysqld_safe & デーモンの確認: cd /opt/local/mysql-test ; perl mysql-test-run.pl
php と mysql の連携設定。
sudo port install php5-mysql
出てくるメッセージ抜粋:
To use mysqlnd with a local MySQL server, edit /opt/local/etc/php5/php.ini and set mysql.default_socket, mysqli.default_socket and pdo_mysql.default_socket to /opt/local/var/run/mysql5/mysqld.sock
これに従って php.ini を修正(やらない方が良かった。後述)
続いて phpmyadmin を入れる。依存パッケージをまとめて導入:
sudo port install phpmyadmin
httpd.conf
/opt/local/www/phpmyadmin/config.inc.php
mysql デーモンを動かす:
sudo /opt/local/lib/mysql5/bin/mysqld_safe &
これで http : / / localhost/phpmyadmin/ を使えると思ったが、root でログインできない。。
もしや sock ファイルの場所が合ってないのではという話
$ mysql5 -u root Welcome to the MySQL monitor. Commands end with ; or \g. Your MySQL connection id is 2 Server version: 5.1.61-log Source distribution (omitted) mysql> status -------------- mysql5 Ver 14.14 Distrib 5.1.61, for apple-darwin10.8.0 (i386) using readline 6.2 (omitted) UNIX socket: /tmp/mysql.sock Uptime: 8 min 14 sec Threads: 1 Questions: 6 Slow queries: 0 Opens: 15 Flush tables: 1 Open tables: 8 Queries per second avg: 0.12
ソケットファイルの指定3箇所を修正して、apache 再起動:
sudo emacs -nw /opt/local/etc/php5/php.ini sudo /opt/local/apache2/bin/apachectl restart
これで mysqladmin に root でログインできた。
コマンドラインから実行できる PHP は /opt/local/bin/php -a である。
$ which php /opt/local/bin/php $ which pear /opt/local/bin/pear
Xdebug も入れておく:
sudo port install php5-xdebug sudo /opt/local/apache2/bin/apachectl restart
2014-06-16
http://hiraro.hateblo.jp/entry/2013/08/25/024641
$ sudo port install php55 php55-apache2handler $ cd /opt/local/apache2/modules $ sudo /opt/local/apache2/bin/apxs -a -e -n php5 mod_php55.so
$ sudo /opt/local/apache2/bin/apxs -a -e -n php5 mod_php55.so Password: [activating module `php5' in /opt/local/apache2/conf/httpd.conf] $ sudo /opt/local/apache2/bin/apachectl restart [Mon Jun 16 18:59:45 2014] [warn] module php5_module is already loaded, skipping
/opt/local/apache2/conf/httpd.conf が下記のように重複している:
LoadModule php5_module modules/libphp5.so LoadModule php5_module modules/mod_php55.so
sudo 権限でエディタを開いて前の行を削る。
apachectl restart する。phpinfo() を見ると 5.5 になっている。
2014-10-12
$ sudo port selfupdate $ sudo port install php56 php56-apache2handler $ cd /opt/local/apache2/modules $ sudo /opt/local/apache2/bin/apxs -a -e -n php5 mod_php56.so $ sudo /opt/local/apache2/bin/apachectl restart
$ sudo port select php Available versions for php: none php55 php56 (active)
MacPortsでインストールしたものをスタートアップで起動する - YAMAGUCHI::weblog http://bit.ly/JNpogC
ということで launchctl load されているのだが apache2 起動に失敗することがある。。調査中。
since 2012-07-26
Mountain Lion にアップデートしたら見えなくなった。何の影響かわからないが。。
/opt/local/apache2/conf/httpd.conf
<Directory /> Options FollowSymLinks AllowOverride None Order deny,allow Deny from all </Directory>
Deny from all を Allow from all に。(必要に応じて厳しく。。)
sudo /opt/local/apache2/bin/apachectl restart
since 2016-04-25
$ sudo /opt/local/apache2/bin/apachectl restart httpd: Syntax error on line 99 of /opt/local/apache2/conf/httpd.conf: Cannot load /opt/local/apache2/modules/mod_ssl.so into server: dlopen(/opt/local/apache2/modules/mod_ssl.so, 10): Symbol not found: _SSLv2_client_method\n Referenced from: /opt/local/apache2/modules/mod_ssl.so\n Expected in: /opt/local/lib/libssl.1.0.0.dylib\n in /opt/local/apache2/modules/mod_ssl.so
httpd.conf の 99 行をコメントアウトした。ローカルサーバーで SSL を使っていないのでこれでよしとする。
Macでディスク容量が足りなくなってきたら1【portをcleanしよう】 - En blanc et noir http://bit.ly/UBkM3k
Helix Melody:MacPortsでupgradeができない時の対処法 - livedoor Blog(ブログ) http://bit.ly/Pl59eh
since 2017-01-17
アクティビティモニタを見ていたら無意味に高負荷だったので止めることにした。
$ sudo launchctl unload -w /Library/LaunchDaemons/org.macports.mysql56-server.plist $ sudo port uninstall mysql56-server mysql56
いつの間にか mysql5 から mysql56 に変わっていた。