📝 APM
- 리눅스를 가장 많이 활용하는 분야 중의 하나가 바로 웹(Web) 서버
- 가장 안정적이고 유명한 서버로 Apache 웹 서버가 있음
- APM = Apache 웹 서버 + 프로그래밍 언어(PHP) + 데이터베이스(MariaDB)
- 리눅스 환경에서 사용될 경우 LAPM(Linux, Apache, PHP, MariaDB)이라고도 부름
- 사실 APM이라는 소프트웨어는 존재하지 않으며, 이 3가지가 서로 잘 연동되어 운영되도록 만든 환경을 APM이라고 부름
- CentOS는 DNF 명령으로 APM에 대한 편리한 설치를 제공한다.
📜 APM 설치
- 아래 명령어를 통해 패키지 설치 여부를 확인할 수 있다.
# rpm -qa httpd php mariadb-server
- 일반적으로는 설치가 안되어있을 것이다.
- 아래 명령어를 통해 필요한 패키지를 다운받는다.
# dnf -y install httpd php php-mysqlnd mariadb-server
- 참고로
php-mysqlnd
는 php와 mysql(mariadb)을 연동하는 패키지이다. - 이후 설치가 완료됐으면 서비스를 시작시킨다.
# systemctl restart httpd
# systemctl enable httpd
# systemctl restart mariadb
# systemctl enable mariadb
- php는 서비스가 아니고 Apache에 포함된 기능이기 때문에 생략한다.
📜 웹 서버 테스트
- 필요한 패키지를 설치했으니 간단하게 홈페이지를 만들어서 출력시킴으로써 웹 서버가 잘 동작하는지 테스트해보자
- 웹 서버의 홈 디렉터리는
/var/www/html
이다. - 위 경로로 이동하여
index.html
파일을 생성하고 간단하게 구현해준다.
- 이후 웹 브라우저를 실행시켜
localhost
로 접속하여 위에서 만든 페이지가 출력되는 것을 확인한다.
- 웹 서버가 잘 동작하는 것은 확인했고, 다음으로 php가 잘 동작하는지 확인해보자
- 아까와 동일한 경로에
*.php
를 확장명으로 하는 php 파일을 생성하고, 아래와 같이 구현해주었다.
- 위 php 코드는 현재 php의 정보를 출력하는 함수이다.
- 즉, 위 문자열이 그대로 출력되는 것이 아니라 코드가 해석된 결과가 출력된다면 잘 동작하는 것이다.
- 다시 웹 브라우저에서
localhost/php 파일명
으로 접속하여 결과를 확인한다.
- 이렇게하여 현재 APM(웹 서버 + php)이 잘 동작하는 것을 확인하였다.
- 마지막으로 외부의 접속을 허용하도록 방화벽 설정을 수행한다.
📝 클라우드 서비스 구축
- 클라우드 서비스란 네이버의 N 드라이브, 구글 드라이브, Microsoft OneDrive 등의 서비스를 말한다.
- 기존의 웹하드 기능까지 포함한다.
- 클라우드 오픈소스인 ownCloud 커뮤니티 에디션을 리눅스 환경에서 설치하고 운영하는 방법에 대해 알아보자.
📜 패키지 설치
- 우선 클라우드 서비스 구축에 필요한 패키지를 설치한다.
# dnf -y install httpd php php-mariadb mariadb-server php-gd php-mbstring php-pecl-zip php-xml php-json php-intl
- 다음으로 클라우드 서비스에 저장할 데이터베이스 및 해당 데이터베이스에 대한 루트 사용자를 생성한다.
MariaDB [(none)]> CREATE DATABASE webDB;
MariaDB [(none)]> GRANT ALL ON webDB.* TO webUser@localhost IDENTIFIED BY '1234';
MariaDB [(none)]> exit
- 이후 방화벽 설정을 통해 웹 서버와 관련된 포트를 열어준다.
- 기존의 방법으로 사용해도 되고, 아래 명령어를 통해 간단하게 수행할 수도 있다.
# firewall-cmd --permanent --add-service=http
# firewall-cmd --permanent --add-service=https
# firewall-cmd --reload
📜 ownCloud 설치
- 다음으로 ownCloud와 관련된 소스를 다운받아 압축을 풀어준다.
# wget https://download.owncloud.org/community/owncloud-10.3.2.tar.bz2
# tar -jxf owncloud-10.3.2.tar.bz2 -C /var/www/
- 다음으로 Apache 웹 서버가 ownCloud의 파일 및 폴더를 읽고 액세스 할 수 있도록 소유권 권한을 구성한다.
# chown -R apache: /var/www/owncloud
# chmod -R 755 owncloud
📜 ownCloud 설정
- 이후 웹 브라우저를 열어
웹 서버의 IP 주소/owncloud
로 접속한 뒤 ownCloud 설정을 진행한다.
- 관리자 아이디와 비밀번호는 적당히 생성해주고, 데이터베이스 설정은 위에서 설정한 데이터베이스 설정과 동일하게 입력해준다.
- 설정을 완료하고, 관리자 계정으로 로그인한 뒤, 사용자 탭으로 이동하여 클라우드 서비스 사용자를 추가한다.
- 이후부터는 위에서 만든 사용자 계정으로 로그인하여 해당 클라우드에서 파일을 업로드하거나 다운받을 수 있다.
📜 클라우드 서비스 활용
- 위 과정을 통해 웹하드 기능을 ownCloud를 통해 사용하는 방법에 대해 확인해보았다.
- 다음으로 이보다 더 중요한 기능인 클라우드 서비스 기능에 대해 살펴보도록 한다.
- 즉, 서버와 클라이언트 디렉터리가 동기화되어, 어느 곳에서 파일을 조작하든지 서로 동일한 데이터를 갖는 것을 확인해본다.
- 이를 위해 ownCloud 클라이언트 프로그램을 클라이언트 PC에 설치하고, 아래와 같이 설정을 진행한다.
- 이후 서버와 동기화될 폴더를 지정한다.
- 동기화가 완료된 후, 해당 디렉터리로 이동해보면 이전에 웹하드에 저장해놓았던 파일들이 동기화되어 해당 디렉터리에 똑같이 저장되어 있는 것을 확인할 수 있다.
'🐧 Linux > 이것이 리눅스다(CentOS 8)' 카테고리의 다른 글
[이것이 리눅스다(CentOS 8)] 14장. NFS 서버 설치와 운영 (0) | 2023.04.05 |
---|---|
[이것이 리눅스다(CentOS 8)] 13장. FTP 서버 설치와 운영 (0) | 2023.04.05 |
[이것이 리눅스다(CentOS 8)] 10장. 메일 서버 설치와 운영 (0) | 2023.04.03 |
[이것이 리눅스다(CentOS 8)] 09장. 네임 서버 설치와 운영 (0) | 2023.04.03 |
[이것이 리눅스다(CentOS 8)] 08장. 원격지 시스템 관리하기 (0) | 2023.04.02 |