본문 바로가기
컴퓨터/서버구축

맥북(M1)에서 PHP / APACHE2 / MYSQL / phpmyadmin 설치하기.

by 햇님☆ 2022. 3. 21.
반응형

맥북에서 내가 필요로 하는 개발환경을 갖추었다. 사실 온라인 서버를 운영하고 있는 나는 FTP환경에서 바로바로 작업하는 것을 선호하기 때문에 굳이 local 개발환경을 갖출 필요가 없었는데, 요즘 스타벅스를 자주 이용하게 되면서 스타벅스에서 제공되는 인터넷이 22번 포트가 막혀있는지 SFTP가 이용되지 않았다. 그래서 어쩔 수 없이 local 개발환경을 갖추게 되었다.

 

PS. 작성하고 보니 가장 중요한 내용을 쓰지 않았다.

모든 내용은 command창에서 실행하여야 한다. 맥북에서는 terminal이라고 한다. app 기타폴더에서 실행하거나 Spotright에서 terminal이라고 검색하여 실행하면 된다.

 

가장 먼저, 

맥북에서 패키지를 설치할 수 있는 homebrew를 설치했다.

/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
 

Homebrew

The Missing Package Manager for macOS (or Linux).

brew.sh

거의 30년 가까이 윈도우만 사용하다 M1 이후에 맥북으로 넘어온 터라 그렇게 익숙지가 않다.

homebrew는 리눅스의 apt와 같은가보다.

 

이제 패키지를 설치할 수 있는 brew 명령어를 사용할 수 있게 되었다.

brew list //설치된 패키지 목록
brew search 검색어 //패키지 검색
brew install 패키지명 //패키지 설치
brew uninstall 패키지명 //패키지 삭제
brew services list //실행 중인 패키지 목록
brew services start 패키지명 //패키지 실행
brew services restart 패키지명 //패키지 재실행
brew services stop 패키지명 //패키지 중지

대략 이 정도 명령어만 알고 있으면 모든 걸 할 수 있다.

brew로 설치되는 모든 패키지는 /opt/homebrew/ 안에 설치된다.

그래서 우리가 보통 리눅스에서 /etc/php, /etc/httpd 이런 식으로 설치되던 폴더가 /opt/homebrew/etc/php, /opt/homebrew/etc/httpd 이렇게 설치가 되었다.

 

만약 homebrew를 설치했는데도 brew 명령어가 실행되지 않고 command not found brew 라는 메시지를 출력한다면 아래와 같이 명력어를 입력하고 터미널을 재실하도록 하자

echo "export PATH=/opt/homebrew/bin:$PATH" >> ~/.zshrc

 

반응형

 

가장 먼저 mysql을 설치했다.

brew search mysql //mysql 목록 검색
brew install mysql //가장 최근 버전 설치
brew services start mysql //실행
mysql_secure_installation //mysql 설정

> Securing the MySQL server deployment.
> Enter password for user root: 

> VALIDATE PASSWORD COMPONENT can be used to test passwords
> and improve security. It checks the strength of password
> and allows the users to set only those passwords which are
> secure enough. Would you like to setup VALIDATE PASSWORD component?

> Press y|Y for Yes, any other key for No:
//비밀번호를 복잡하게 설정할 것인지 확인 (보통 No)

> New password:
> Re-enter new password:
//원하는 비밀번호로 설정

> By default, a MySQL installation has an anonymous user,
> allowing anyone to log into MySQL without having to have
> a user account created for them. This is intended only for
> testing, and to make the installation go a bit smoother.
> You should remove them before moving into a production
> environment.

> Remove anonymous users? (Press y|Y for Yes, any other key for No) :
//사용자를 설정할 것인지? (보통 Yes)

> Normally, root should only be allowed to connect from
> 'localhost'. This ensures that someone cannot guess at
> the root password from the network.

> Disallow root login remotely? (Press y|Y for Yes, any other key for No) :
//root 계정의 원격접속을 허용할 것인지 (상황에 따라) 나중에 변경 가능

> By default, MySQL comes with a database named 'test' that
> anyone can access. This is also intended only for testing,
> and should be removed before moving into a production
> environment.

> Remove test database and access to it? (Press y|Y for Yes, any other key for No) :
//테스트 db를 생성할 것인지 (보통 No)

> All done!

 

다음은 php 설치 내 서버 환경이 7.4.2 버전을 사용하고 있기 때문에 동일한 환경을 갖추기 위해 같은 버전으로 설치했다.

brew search php //패키지 검색
brew install php@7.4 //패키지 설치
php -v //설치 버전 확인
brew link --overwrite --force php@7.4 //버전이 확인 되지 않을시 환경 설정을 변경해준다. (선택)
vi /opt/homebrew/etc/php/7.4/php.ini //php.ini 설정

 

마지막 apache2 설치. 맥북에는 기본으로 apache2.2가 설치되어 있지만, 기능에 제약이 있다고 하여 새로 설치하였다.

brew search apache //패키지 검색
brew install apache2 //패키지 설치

vi /opt/homebrew/etc/httpd/httpd.conf //설정 수정

> Listen 80 //8080포트를 80포트로 변경

> LoadModule rewrite_module lib/httpd/modules/mod_rewrite.so //주석해제
> LoadModule php7_module /opt/homebrew/opt/php@7.4/lib/httpd/modules/libphp7.so //아래에 php 모듈 추가

> ServerName localhost //주석해제 후 변경

> DocumentRoot "/opt/homebrew/www" //home 디렉토리 설정
> <Directory "/opt/homebrew/www"> //마찬가지 home 디렉토리 설정

> <IfModule dir_module>
>     DirectoryIndex index.html index.php //index.php 추가
> </IfModule>

> <Files ".ht*">
>     Require all granted //denied->granted 변경 비허용->허용
> </Files>

> AddType application/x-httpd-php .php .htm .html .xml //마지막줄에 추가

 

이제 apache를 실행해 정상적으로 구동되는지 확인하자

brew services start httpd //패키지 실행
brew services list //실행 중인 패키지 확인

 

Safari를 열고 주소창에 localhost를 입력하고 It`s work. 라는 메시지가 출력된다면 성공한 것이다.

 

mysql은 개발자의 성향에 따라 관리하는 방법이 다르겠지만, 나는 보통 phpmyadmin를 이용하여 db를 관리한다.

그래서 추가로 phpmyadmin도 설치하였다.

brew search phpmyadmin //패키지 검색
brew install phpmyadmin //패키지 설치
//많은 메세지가 출력되지만 무시하고 httpd.conf를 수정한다.

vi /opt/homebrew/etc/httpd/httpd.conf

Alias /phpmyadmin /opt/homebrew/share/phpmyadmin
<Directory /opt/homebrew/share/phpmyadmin/>
    Options FollowSymLinks MultiViews
    AllowOverride All
    <IfModule mod_authz_core.c>
        Require all granted
    </IfModule>
    <IfModule !mod_authz_core.c>
        Order allow,deny
        Allow from all
    </IfModule>
</Directory>
//위 코드를 마지막줄에 추가한다.

brew services restart httpd //패키지 재실행

 

다시 Safari로 돌아가 주소창에 localhost/phpmyadmin 를 입력하면 접속이 가능해진다.

이상으로 맥북 M1에서 PHP + APACHE2 + MYSQL 개발환경 설치를 마친다.

반응형

댓글