Mac OS X에는 Apache와 PHP가 내장되어 있어 사용이 매우 편리합니다. 이 문서에서는 Mac OS X 10.6.3을 예로 들어 설명합니다. 주요 내용은 다음과 같습니다.
Apache 시작
PHP 실행
MySQL 설치
phpMyAdmin 사용
PHP의 MCrypt 확장 라이브러리 구성
가상 호스트 설정
Apache 시작
두 가지 방법이 있습니다:
"시스템 환경설정" 열기 -> "공유" -> "웹 공유"
"터미널" 열기, 그리고 (참고: sudo에 필요한 비밀번호는 sudo의 루트 계정 비밀번호입니다. system)
"sudo apachectl start"를 실행한 후 계정 비밀번호를 입력하면 Apache가 실행됩니다.
"sudo apachectl -v"를 실행하면 Mac OS X 10.6.3의 Apache 버전 번호가 표시됩니다.
서버 버전: Apache/2.2.14(Unix)
서버 구축: 2010년 2월 11일 14 :40:31
이런 식으로 브라우저에 "http://localhost"를 입력하면 "/Library(리소스 라이브러리)/WebServer에 "It works!"라는 내용의 페이지가 나타납니다. / Documents/"는 Apache의 기본 루트 디렉터리입니다.
참고: Apache를 켜는 것은 "웹 공유"를 켜는 것을 의미합니다. 이때 인터넷 사용자는 "http://[로컬 IP]/" 디렉터리를 통해 "/Library(리소스 라이브러리)/WebServer/Documents/"에 액세스하게 됩니다. , "http://[로컬 IP]/~[사용자 이름]"을 통해 "/Users/[사용자 이름]/Sites/" 디렉터리에 액세스합니다. 컴퓨터의 "시스템 환경설정" "방화벽"에서 "보안"을 다음과 같이 설정할 수 있습니다. 이 액세스를 방지합니다.
PHP 실행
터미널에서 "sudo vi /etc/apache2/httpd.conf"를 실행하여 Apache 구성 파일을 엽니다. (터미널 및 vi 조작에 익숙하지 않은 경우 Finder에서 모든 시스템 숨김 파일을 표시하도록 설정할 수 있습니다. 해당 파일을 찾아서 원하는 대로 편집할 수 있도록 Finder를 다시 시작하는 것을 잊지 마십시오. 단, 주의해야 할 사항 일부 파일을 수정하려면 루트 계정이 필요하지만 전반적으로 루트 권한을 일시적으로 얻으려면 터미널에서 sudo를 사용하는 것이 더 안전합니다.)
"#LoadModule php5_module libexec/apache2/libphp5.so"를 찾아 제거하세요. 앞에 # 기호를 입력하고 저장(명령줄에 입력)하고 vi를 종료합니다(명령줄에 :q 입력).
php.ini를 통해 다양한 PHP 기능을 구성할 수 있도록 "sudo cp /etc/php.ini.default /etc/php.ini"를 실행하세요. 예:
;phpMyAdmin에서 가져온 데이터의 최대값과 같은 다음 두 항목을 통해 PHP 제출 파일의 최대값을 조정합니다.
upload_max_filesize = 2M
post_max_size = 8M
;예: PHP 프로그램의 오류 보고를 표시할지 여부를 제어하려면 display_errors를 사용하세요.
display_errors = Off
PHP를 사용할 수 있도록 "sudo apachectl restart"를 실행하여 Apache를 다시 시작하세요.
"cp /Library/WebServer/Documents/index.html.en /Library/WebServer/Documents/info.php"를 실행합니다. 즉, Apache 루트 디렉터리에 있는 index.html.en 파일을 복사하고 이름을 바꿉니다. info.php로
터미널에서 "vi /Library/WebServer/Document/info.php"를 실행하면 vi에서 info.php 파일을 편집할 수 있습니다. "It's works!" 뒤에 ""를 추가하고 저장하세요. 이런 식으로 http://localhost/info.php에서 PHP에 대한 정보를 볼 수 있습니다. 예를 들어 버전 번호는 5.3.1입니다.
MySQL 설치
Mac OS X에는 MySQL이 사전 설치되어 있지 않으므로 수동으로 설치해야 합니다. 현재 가장 안정적인 MySQL 버전은 5.1입니다. MySQL은 Mac OS X에 대한 설치 지침을 제공합니다.
MySQL 5.1을 다운로드하세요. 적절한 버전을 선택합니다. 예를 들어 여기에서는 mysql-5.1.46-osx10.6-x86_64.dmg가 선택되었습니다.
dmg를 실행하면 4개의 파일을 찾을 수 있습니다. 먼저 MySQL의 주요 설치 패키지인 mysql-5.1.46-osx10.6-x86_64.pkg를 설치하려면 클릭하세요. 일반적인 상황에서 설치 파일은 /usr/local 아래의 동일한 이름의 폴더에 MySQL을 자동으로 설치합니다. 예를 들어, "mysql-5.1.46-osx10.6-x86_64.dmg"를 실행하기 위해 클릭하면 MySQ가 "/usr/local/mysql-5.1.46-osx10.6-x86_64"에 설치됩니다. 기본 설치가 모두 완료되었습니다.
두 번째 파일 MySQLStartupItem.pkg를 클릭하여 설치하면 부팅 시 MySQL이 자동으로 시작됩니다.
클릭하여 세 번째 파일 MySQL.prefPane을 설치하면 "시스템 설정 환경 설정"에 "MySQL"이라는 아이콘이 표시됩니다. 이를 통해 MySQL을 시작할지 중지할지, 실행 시 자동으로 실행할지 여부를 설정할 수 있습니다. 컴퓨터를 켜십시오. 이 시점에서 MySQL은 기본적으로 설치됩니다.
"sudo vi /etc/bashrc"를 실행하여 mysql 및 mysqladmin의 별칭을 bash 구성 파일에 추가합니다.
#mysql
alias mysql='/usr/local/mysql/bin/mysql'
alias mysqladmin='/usr/local/mysql/bin/mysqladmin'
이렇게 하면 비교적 간단하게 터미널의 명령을 통해 해당 작업을 수행할 수 있습니다. 예를 들어 설치가 완료된 후 기본 비밀번호는 다음과 같습니다. MySQL 루트가 비어 있는 경우 터미널에서 "mysqladmin -u 루트 비밀번호 "mysqlpassword""를 실행하여 비밀번호를 설정할 수 있습니다. 여기서 mysqlpassword는 루트 비밀번호입니다. 자세한 내용은 B.5.4.1 루트 비밀번호 재설정 방법을 참조하세요.
참고: Mac OS '_mysql'"을 업그레이드하거나 명령줄에 "'/tmp/mysql.sock' 소켓(2)을 통해 로컬 MySQL 서버에 연결할 수 없습니다."라는 메시지가 표시됩니다. 이는 /usr/local에 의해 발생해야 합니다. /mysql/ 특정 상황에서 데이터 호스트가 변경되었습니다. "sudo chown -R mysql /usr/local/mysql/data"를 실행하세요.
또한 PHP를 사용하여 MySQL에 연결할 때 "'/var/mysql/mysql.sock' 소켓을 통해 로컬 MySQL 서버에 연결할 수 없습니다"라는 오류가 보고되거나 localhost를 사용하여 MySQL에 연결할 수 없으며 연결이 필요하기 때문에 127.0.0.1이 필요합니다. 당시 PHP는 기본적으로 /var/mysql/mysql.sock을 찾았지만 MYSQL의 MAC 버전은 파일 위치를 변경하여 /tmp 아래에 배치했습니다. 해결 방법은 php.ini를 다음과 같이 수정하는 것입니다.
mysql.default_socket = /tmp/mysql.sock
phpMyAdmin 사용
phpMyAdmin은 MySQL을 관리하기 위해 PHP로 개발된 프로그램으로 매우 인기가 높습니다. 그리고 실용적이다. phpMyAdmin을 사용하여 MySQL을 관리할 수 있는 것은 이전 단계의 결과를 테스트하는 매우 효과적인 방법입니다.
phpMyAdmin을 다운로드하세요. 적절한 버전을 선택합니다. 예를 들어 저는 phpMyAdmin-3.3.2-all-언어s.tar.bz2 버전을 선택했습니다.
"다운로드"의 phpMyAdmin-3.32-all-언어s 폴더를 "/Users/[사용자 이름]/Sites"에 복사하고 이름을 phpmyadmin으로 변경합니다.
"/Users/[사용자 이름]/Sites/phpmyadmin/"에 config.sample.inc.php를 복사하고 이름을 config.inc.php로 지정합니다.
config.inc.php를 열고 다음과 같이 변경합니다.
쿠키 암호화에 사용됩니다. 모든 긴 문자열
$cfg['blowfish_secret'] = '';
phpMyAdmin에 "#2002 MySQL 서버에 로그인할 수 없습니다."가 나타나는 경우
변경하세요. localhost를 127.0.0.1로 변경하면 괜찮습니다.
이는 MySQL 데몬이 IP 바인딩(bind-address =127.0.0.1)을 수행했기 때문입니다.
$cfg['Servers'][$i ]['host '] = 'localhost';
false를 true로 변경하면 비밀번호 없이 MySQL에 접속할 수 있습니다.
MySQL에 비밀번호가 설정되어 있어도 이렇게 설정한 후 phpMyAdmin에 로그인할 수 있습니다.
$cfg['Servers'][$i]['AllowNoPassword'] = false인 경우 비밀번호를 입력하세요.
이 방법으로 http://localhost/~[username]/phpmyadmin을 통해 phpMyAdmin에 액세스할 수 있습니다. . 이때 "mcrypt 확장을 로드할 수 없습니다. PHP 구성을 확인하십시오."라는 메시지가 표시됩니다. 여기에는 다음 섹션에서 MCrypt 확장을 설치하는 작업이 포함됩니다.
PHP의 MCrypt 확장 구성
MCrypt는 22개의 알고리즘을 포함하는 강력한 암호화 알고리즘 확장 라이브러리입니다. 그러나 Mac OS X에서의 설치는 다음과 같이 그리 친숙하지 않습니다.
libmcrypt-2.5.8.tar.bz2를 다운로드하고 압축을 풉니다.
터미널에서 다음 명령을 실행합니다(다음 명령을 사용하려면 xcode 지원이 설치되어 있어야 함):
cd ~/Downloads/libmcrypt-2.5.8/
./configure --disable-posix- thread --enable-static
make
sudo make install
PHP 소스 코드 파일 php-5.3.1.tar.bz2를 다운로드하고 압축을 풉니다. Mac OS에 사전 설치된 PHP 버전
터미널에서 다음 명령을 실행합니다:
cd ~/Downloads/php-5.3.1/ext/mcrypt
phpize
./configure
make
cd module
sudo cp mcrypt.so /usr/lib/php/extensions/no-debug-non-zts-20090626/
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 확장 라이브러리가 성공적으로 설치되었음을 의미합니다.
가상 호스트 설정
터미널에서 "sudo vi /etc/apache2/httpd.conf"를 실행하고 Apche 구성 파일을 엽니다.
httpd에서 "#Include /private/etc/를 찾습니다. .conf apache2/extra/httpd-vhosts.conf", 앞에 있는 "#"을 제거하고 저장하고 종료합니다.
"sudo apachectl restart"를 실행하고 Apache를 다시 시작하여 가상 호스트 구성 기능을 활성화합니다.
"sudo vi /etc/apache2/extra/httpd-vhosts.conf"를 실행하여 가상 호스트 구성 파일 httpd-vhost.conf를 열고 필요한 가상 호스트를 구성합니다. 이 파일은 기본적으로 두 개의 예제 가상 호스트를 활성화한다는 점에 유의해야 합니다.
ServerAdmin webmaster@dummy-host.example.com
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" 공통
ServerAdmin webmaster@dummy-host2.example.com
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" 공통
사실 이 두 개의 가상 호스트는 존재하지 않습니다. 다른 가상 호스트가 구성되지 않은 경우 localhost에 액세스할 때 다음 메시지가 나타날 수 있습니다.
금지됨
권한이 없습니다. 이 서버에서 /index.php에 접근하려면
가장 간단한 방법은 각 줄 앞에 #을 추가하고 주석 처리만 하면 다른 문제 없이 참조할 수 있습니다.
다음 구성 추가
DocumentRoot "/Users/[username]/Sites"
ServerName 사이트
ErrorLog "/private/var/log/apache2/sites-error_log"
CustomLog "/private/var/log/apache2/sites-access_log" common
저장하고 종료한 후 Apache를 다시 시작하세요.
"sudo vi /etc/hosts"를 실행하고 호스트 구성 파일을 열고 "127.0.0.1 사이트"를 추가하면 "http://sites"를 사용하여 사이트 가상 호스트를 구성하고 액세스할 수 있습니다. "http://localhost/~[사용자 이름]"과 정확히 동일합니다.
Mac OS X 10.6.3에서 기본 지원을 사용하여 구현한 구성입니다. "Mac OS X Leopard: Apache, PHP, SQLite, MySQL 및 phpMyAdmin 구성(2)"을 참조할 수도 있습니다. 실제로 XAMPP 또는 MacPorts와 같은 타사 통합 솔루션을 사용하여 간단한 설치 및 사용을 달성할 수도 있습니다.