Mac OS XでApache+PHP+MySQL+PHPMYADMINを設定する


原文参考:Mac OS XでApache+PHP+MySQLを設定する
 
最近linuxに興味を持ち始めました.ちょうど手元にmac bookがあります.これはまるで天助です.ネットで検索してみました.macosにはapacheとphpが内蔵されていますが、mysqlは内蔵されていません.だから、apacheを構成してphpをサポートし、mysqlをインストールする必要があります.
macosシステムバージョン10.7.1 lion
Apacheの起動
2つの方法があります.
  • 「システム設定プリファレンス」→「共有」→「Web共有」を開く
  • 「端末(terminal)」を開き、(注意:sudoに必要なパスワードはシステムのrootアカウントパスワードです)
  • sudo apachectl start」を実行し、アカウントパスワードを入力することでApacheが実行されます.
  • sudo apachectl -v」を実行するとMac OS X 10が表示される.6.3のApacheバージョン番号

  • ブラウザに「http://localhost/「Itworks!」という内容が表示されます.Apacheのデフォルトのdocumentルートディレクトリです.
    注意:Apacheをオンにすると「Web共有」がオンになります.すると、ネットワークに接続されているユーザーは「http://[ローカルIP]/」で「/Library(リポジトリ)/WebServer/Documents/」ディレクトリにアクセスし、「http://[ローカルIP]/~[ユーザー名]」で「/Users/[ユーザー名]/Sites/」ディレクトリにアクセスします.このアクセスは、システムプリファレンス設定のセキュリティ(Security)のファイアウォール(Firewall)を設定することで禁止できます.
    PHP運転
  • 端末で「sudo vi/etc/apache2/httpd.conf」を実行し、Apacheのプロファイルを開く.(端末やviの操作に慣れていない場合は、すべてのシステム非表示ファイルをFinderに表示するように設定することができます.Finderを再起動する必要があることを覚えておいてください.そうすれば、対応するファイルを見つけて好きなように編集することができますが、一部のファイルの修正ではrootアカウントを開く必要がありますが、全体的には端末でsudoを使用している場合にroot権限を取得するのが安全です.)
  • #LoadModule php5_modulelibexec/apache2/libphp5.so」を見つけ、前の番号を消して保存(コマンドライン入力:w)しviを終了する(コマンドライン入力:q).
  • sudo cp /etc/php.ini.default/etc/php.ini」を実行することでphpを通過できる.iniは各種PHP機能を配置しました.例えば、
    ;         PHP        ,  phpMyAdmin         
    upload_max_filesize = 2M
    post_max_size = 8M
    ;    display_errors       PHP     
    display_errors = Off
    
    
  • 运行“sudo apachectl restart”,重启Apache,这样PHP就可以用了。
  •       在documents根目录下,新建info.php文件
          输入代码:
          <?php echo phpinfo();
          可以看到php的配置信息,表示php已经可以正常使用。

    安装MySQL

    由于Mac OS X中并没有预装MySQL,所以需要自己手动安装,目前MySQL的最稳定版本是5.1。MySQL提供了MacOS X下的安装说明。

    1. 下载MySQL5.1。选择合适的版本,比如这里选择的是mysql-5.1.46-osx10.6-x86_64.dmg。
    2. 运行dmg,会发现里面有4个文件。首先点击安装mysql-5.1.46-osx10.6-x86_64.pkg,这是MySQL的主安装包。一般情况下,安装文件会自动把MySQL安装到/usr/local下的同名文件夹下。比如点击运行“mysql-5.1.46-osx10.6-x86_64.dmg”会把MySQ安装到“/usr/local/mysql-5.1.46-osx10.6-x86_64”中。一路默认安装完毕即可。
    3. 点击安装第2个文件MySQLStartupItem.pkg,这样MySQL就会自动在开机时自动启动了。
    4. 点击安装第3个文件MySQL.prefPane,这样就会在“系统设置偏好”中看到名为“MySQL”的ICON,通过它就可以设置MySQL开始还是停止,以及是否开机时自动运行。到这里MySQL就基本安装完毕了。
    5. 通过运行“sudo vi/etc/bashrc”,在bash的配置文件中加入mysqlmysqladmin的别名
      #mysql 
      
      
      alias mysql='/usr/local/mysql/bin/mysql' 
      
      
      alias mysqladmin='/usr/local/mysql/bin/mysqladmin'
      
      
    6. 这样就可以在终端中比较简单地通过命令进行相应的操作,比如安装完毕之后MySQL的root默认密码为空,如果要设置密码可以在终端运行“mysqladmin -u root password "mysqlpassword"来设置,其中mysqlpassword即root的密码。


    使用phpMyAdmin

    phpMyAdmin是用PHP开发的管理MySQL的程序,非常的流行和实用。能够实用phpMyAdmin管理MySQL是检验前面几步成果的非常有效方式。

    1. 下载phpMyAdmin。选择合适的版本,比如我选择的是phpMyAdmin-3.3.2-all-languages.tar.bz2这个版本。
    2. 把“下载(downloads)”中的phpMyAdmin-3.32-all-languages文件夹复制到“/Users/[ ]/Sites”中,名改名为phpmyadmin。
    3. 复制“/Users/[ ]/Sites/phpmyadmin/”中的config.sample.inc.php,并命名为config.inc.php
    4. 打开config.inc.php,做如下修改:
        Cookie  ,       
      $cfg['blowfish_secret'] = ''; 
      
       phpMyAdmin   “#2002      MySQL    ” ,   localhost  127.0.0.1 ok ,     MySQL      IP  (bind-address =127.0.0.1)   
      $cfg['Servers'][$i]['host'] = 'localhost';
      
       false  true,           MySQL ,   MySQL            ,     phpMyAdmin     
      $cfg['Servers'][$i]['AllowNoPassword'] = false;
      
      
    5. 这样就可以通过http://localhost/~[ ]/phpmyadmin访问phpMyAdmin了。这个时候就看到一个提示“无法加载mcrypt 扩展,请检查您的 PHP 配置。”,这就涉及到下一节安装MCrypt扩展了。
    配置PHP的MCrypt扩展

    MCrypt是一个功能强大的加密算法扩展库,它包括有22种算法,phpMyAdmin依赖这个PHP扩展库。但是它在MacOS X下的安装却不那么友善,具体如下:

    1. 下载并解压libmcrypt-2.5.8.tar.bz2。
    2. 在终端执行如下命令(注意如下命令需要安装xcode支持)
      cd ~/Downloads/libmcrypt-2.5.8/ 
      
      
      ./configure --disable-posix-threads --enable-static 
      
      
      make 
      
      
      sudo make install
      
    3. 下载并解压PHP源码文件php-5.3.1.tar.bz2。
    4. 在终端执行如下命令:
      cd ~/Downloads/php-5.3.1/ext/mcrypt 
      
      phpize 
      
      
      ./configure 
      
      
      make 
      
      
      cd modules 
      
      
      sudo cp mcrypt.so /usr/lib/php/extensions/no-debug-non-zts-20090626/
      
    5. 打开php.ini
      sudo vi /etc/php.ini
      

      在php.ini中加入如下代码,并保存后退出,然后重启Apache

      extension=/usr/lib/php/extensions/no-debug-non-zts-20090626/mcrypt.so
      

    当你再访问http://localhost/phpmyadmin时,你会发现“无法加载 mcrypt扩展,请检查您的 PHP 配置。”的提示没有了,这就表示MCrypt扩展库安装成功了。

    设置虚拟主机

    1. 在终端运行“sudo vi/etc/apache2/httpd.conf”,打开Apche的配置文件
    2. 在httpd.conf中找到“#Include/private/etc/apache2/extra/httpd-vhosts.conf”,去掉前面的“#”,保存并退出。
    3. 运行“sudo apachectl restart”,重启Apache后就开启了它的虚拟主机配置功能。
    4. 运行“sudo vi/etc/apache2/extra/httpd-vhosts.conf”,这样就打开了配置虚拟主机的文件httpd-vhost.conf,配置你需要的虚拟主机了。需要注意的是该文件默认开启了两个作为例子的虚拟主机:
      <VirtualHost *:80>
      
          ServerAdmin [email protected]
      
          DocumentRoot "/usr/docs/dummy-host.example.com"
      
          ServerName dummy-host.example.com
      
          ErrorLog "/private/var/log/apache2/dummy-host.example.com-error_log"
      
          CustomLog "/private/var/log/apache2/dummy-host.example.com-access_log" common
      
      </VirtualHost>
      
      <VirtualHost *:80>
      
          ServerAdmin [email protected]
      
          DocumentRoot "/usr/docs/dummy-host2.example.com"
      
          ServerName dummy-host2.example.com
      
          ErrorLog "/private/var/log/apache2/dummy-host2.example.com-error_log"
      
          CustomLog "/private/var/log/apache2/dummy-host2.example.com-access_log" common
      
      </VirtualHost>

      , , , localhost :

      Forbidden
      You don't have permission to access /index.php on this server
      
      も な は、 ごとに#を けてコメントすればよいので、 になるし、 の にもならない.
    5. の を
      <VirtualHost *:80>
          DocumentRoot "/Users/[   ]/Sites"
          ServerName sites
          ErrorLog "/private/var/log/apache2/sites-error_log"
          CustomLog "/private/var/log/apache2/sites-access_log" common
      </VirtualHost> 
      

      , Apache。

    6. sudo vi/etc/hosts」を き、hostsプロファイルを き、「127.0.0.1sites」を えることでsites ホストの が し、「http://sites」にアクセスし、その と「http://localhost/~[ユーザ ]は に しています.
    7. ,macos php , macos php mysql 。