리눅스 환경 세팅 - 5. CentOS MariaDB 서버용 설치, 외부접속 허용 (https://noobnim.tistory.com/14) 에 이어서 진행합니다.

 

출처) https://suwoni-codelab.com/linux/2017/05/27/Linux-CentOS-Apache/

 

07. 리눅스(CentOS) 개발 놀이터 만들기 - Apache 웹서버 설치

리눅스 CentOS에 Apache를 설치해봅니다.

suwoni-codelab.com

 

 

1. Apache 설치여부 확인

$ yum list installed | grep httpd

위의 명령으로 Apache 웹서버가 설치되어 있는지 확인합니다.

 

 

위처럼 설치 목록이 뜨지 않는다면 새로 설치를 해주어야 합니다.

저는 설치가 되어있지 않으므로 설치를 진행합니다.

 

 

2. Apache 웹서버 설치하기

$ yum install -y httpd

위의 명령으로 httpd 를 설치 해줍니다.

Complete! 메세지로 설치 완료됨을 확인하고

다시 1번의 명령을 입력하면 위의 캡쳐 이미지처럼 httpd가 설치된것을 확인할 수 있습니다.

설치된 경로는 /etc/httpd 입니다.

 

주요 디렉토리 설명

  • conf : 웹 서버의 주요 설정 파일인 httpd.conf, MIME 형식을 지정하기 위한 파일인 magic 파일이 있는 곳
  • conf.d : 아파치의 주요설정을 분리 해서 저장 하는 곳, httpd.conf 설정내용을 분리하여 이곳에 저장하면, httpd.conf 파일에서 불러와서 사용하게 됩니다. httpd.conf 파일 맨 마지막에 ‘IncludeOptional conf.d/*.conf’ 구문이 있습니다.
  • logs : 로그파일이 저장 되는 디렉토리
  • modules : 아파치 모듈 설치디렉토리

 

$ firewall-cmd --permanent --add-service=http 
$ firewall-cmd --permanent --add-service=https 
$ firewall-cmd --reload

위의 명령으로 http, https 를 방화벽 설정한 후 리로드 해줍니다.

 

$ systemctl enable httpd

부팅시 실행 되도록 활성화 시킵니다.

 

$ systemctl start httpd

서비스를 재시작 합니다.

 

$ netstat - lnpt | grep httpd

위의 명령으로 httpd가 정상적으로 listen 상태인지 확인합니다.

tcp6      0      0 :::80      :::*      LISTEN      ****/httpd

위의 항목이 보인다면 80포트로 listen 상태임을 확인할 수 있습니다.

 

 

3. Apache 설정 확인하기

$ cat /etc/httpd/conf/httpd.conf | grep -E "^DocumentRoot | DirectoryIndex"

위의 명령으로 설정 내용을 확인합니다.

DocumentRoot "/var/www/html"

DirectoryIndex index.html

 

$ echo ‘connection test’ > /var/www/html/index.html

테스트를 위하여 표시된 경로에 index.html 파일을 생성합니다.

 

 

http://***.***.***.*** (자신의 웹서버 ip) 를 입력하여 'connection test' 가 잘 보이는지 확인합니다.

 

 

이상으로 apache 웹서버 구축이 완료되었습니다.

리눅스 환경 세팅 - 4. CentOS 무선랜 설정하기 (https://noobnim.tistory.com/13) 에 이어서 진행합니다.

 

출처) https://suwoni-codelab.com/linux/2017/05/24/Linux-CentOS-MariaDB/

 

06. 리눅스(CentOS) 개발 놀이터 만들기 - MariaDB 설치

리눅스 CentOS에 MariaDB를 설치해봅니다.

suwoni-codelab.com

 

1. MariaDB 다운로드 및 설치

 

$ curl -sS https://downloads.mariadb.com/MariaDB/mariadb_repo_setup | sudo bash

MariaDB를 설치하기 위한 사전 작업으로, 위의 명령을 실행합니다. 

 

$ cd /etc/yum/yum.repos.d/

위의 폴더로 이동하여 ls 또는 ll 로, mariadb.repo 라는 파일이 생성된 것을 확인할수 있습니다.

파일이 없을시 맨위의 명령을 다시 실행해주세요.

 

$ yum -y install MariaDB-server

yum을 이용하여 MariaDB 서버용을 설치하도록 합니다.

 

 

 

2. MariaDB 설정하기

 

$ systemctl enable mariadb

MariaDB를 자동으로 실행되도록 합니다.

 

$ systemctl start mariadb

MariaDB를 실행합니다.

 

$ mysql_secure_installation

MariaDB의 보안설정을 하기위해 위의 명령어를 입력합니다.

 

이후에 DB의 비밀번호를 지정할 수 있는 문구가 나오며,

비밀번호를 지정하고 나면 여러가지 설정 질문이 따라오게 됩니다.

 

1) switch to unix_socket authentication?

   - unix_socket 인증으로 전환하시겠습니까? 라는 질문입니다.

     사실 여기서 무엇을 선택해야 할지는 모르겠습니다... 저도 글을 작성하면서 설치중이기때문에

     해당 옵션 설정으로 문제가 생겨서 수정을 해야한다면 차후에 글을 수정하겠습니다.

     저는 Y를 선택!!!!!!

 

2) Change the root password?

   - root의 비밀번호를 설정할지에 대한 질문입니다.

 

3) Remove Anonymous users?

   - Anonymous user를 삭제할지에 대한 질문입니다.

 

4) Disallow root login remotely?

   - root의 로그인을 원격으로 허용할지에 대한 질문입니다.

 

5) Remove test database and access to it?

   - 모든 사용자가 접근할 수 있는 테스트 DB를 삭제할지에 대한 질문입니다.

 

6) Reload privilege tables now?

   - 설정한 권한 테이블을 적용할지에 대한 질문입니다.

 

Thanks for using MariaDB!

위의 메세지와 함께 MariaDB의 설치가 마무리 됩니다.

 

 

 

3. port 확인 및 변경

 

$ semanage port | grep mysqld_port_t

위의 명령을 통해 port 를 확인합니다.

semanage 의 명령어를 사용하지 못한다는 경고가 발생할 수 있습니다.

 

$ yum install policycoreutils-python

yum 을 이용하여 semanage명령어를 사용할 수 있는 패키지를 설치합니다.

 

mysqld_port_t						tcp			1186, 3306, 63132-63164

기본적으로는 포트번호가 3306이지만, 확인 절차를 거쳐서 나쁠건 없다고 생각합니다.

보안상으로 포트를 변경하고싶으신 분들은 위의 출처 블로그를 확인하시면 자세한 설명을 보실 수 있습니다.

 

 

 

4. 포트 방화벽 해제

 

$ systemctl restart mariadb

MariaDB를 재시작 해주도록 합니다.

 

$ firewall-cmd --permanent --add-port=3306/tcp

자신의 MariaDB 포트를 방화벽에서 열어도록 합니다.

 

firewall-cmd --reload

방화벽을 재시작하여 추가한 내용을 적용합니다.

 

 

 

5. 외부접속하기

 

$ mysql -u root -p

MariaDB를 실행합니다.

 

MariaDB [(none)]> use mysql

mysql 사용을 입력합니다.

 

MariaDB [(mysql)]> grant all privileges on *.* to 'root'@'%' identified by '비밀번호';

계정에 권한을 지정해 주도록 합니다.

 

MariaDB [(mysql)]> flush privileges; 

위의 명령어는 grant 테이블을 재조회 함으로써, 권한 변경사항을 즉시 적용하도록 합니다.

 

MariaDB [(mysql)]> exit

위의 명령으로 MariaDB를 종료합니다.

 

$ vi /etc/my.cnf.d/server.cnt

vi 명령으로 server.cnt 파일을 열도록 합니다.

 

[mysql]
port=3306

#bind-address=0.0.0.0

[mysql] 부분을 찾고 그 하단에 port=서버의 MariaDB 포트번호 를 입력합니다.

bind_address 라는 부분을 찾고 그앞에 # 를 붙여 주석처리 해주도록 합니다.

bind_address 는 접속허용할 IP를 입력하는 부분이며, 주석처리할 시 모두 허용 입니다.

 

$ systemctl restart mariadb

MariaDB를 재시작합니다.

 

이제 모든 설정이 끝났습니다!!

다른 PC에서 MariaDB 서버를 설치한 PC의 IP를 호스트로 지정하고

접속 시도하면 마무리됩니다.

 

설치와 포스팅을 동시에 하고나니 어마어마한 시간이 흐르는군요!

마치 투잡을 뛰는 느낌도 들지만 성공했을때의 성취감은 정말 피로가 싹 가십니다 ㅠㅠ

 

이상으로 MariaDB 설정을 마무리 하도록 하겠습니다.

 

 

+ Recent posts