사실 그때그때 수업 내용을 복습해야 했었는데 그러지 못했고, 본격적인 프로젝트에 들어가기 전에 다시 한번 복습을 하고자 한다.
UMC 2기로써 Server - Spring 강의를 10주간 들었고, 강의의 내용과 내가 부가적으로 찾아본 내용, 워크북, 그리고 실습 과정들을 작성할 예정이다.
강의 내용
서버의 특징
서버 : 클라이언트 = 1 : N 관계
고정적인 개념이 아닌 상대적인 역할에 따른 관계
서버의 구성
클라이언트 : ex) web, 안드로이드, iOS, 게임...
서버 : ex) Apache, Nginx....
백엔드 언어 : ex) php, spring, node.js...
DB, DBMS : ex) mysql, oracle, mongo db...
실습 내용
APM 실습
비트나미 설치 하기
윈도우 사용자이므로 WAPM 설치 후 주소창에 "localhost:포트번호" 를 입력하면 잘 동작하는 것을 확인
phpinfo.php 파일을 생성 후 주소창에 "localhost:포트번호/phpinfo.php"를 입력하여 phpinfo 페이지가 나오는 것을 확인
Virtual Box 설치하기
Ubuntu 설치 후 mkdir 명령어를 사용해 study_folder 생성, 폴더 안에 vi 명령어를 사용해 study_file 생성
mkdir study_folder
vi study_file
챌린지 과제
1) 가상머신 virtual box 설치하기
2) 가상머신에 리눅스 계열 OS 설치하여 실행하기
3) 리눅스에 APM 소스 설치하기
Apache 설치
필수 패키지 설치
$ sudo su
# apt-get install make
# apt-get install build-essential
# apt-get install gcc
# apt-get install --reinstall make
# apt-get install libexpat1-dev
# apt-get install g++
# apt-get install net-tools
# apt-get install curl
cd /usr
cd local
mkdir apache
/usr/local# wget http://mirror.navercorp.com/apache//apr/apr-1.7.0.tar.gz
/usr/local# wget http://mirror.navercorp.com/apache//apr/apr-util-1.6.1.tar.gz
/usr/local# wget --no-check-certificate https://sourceforge.net/projects/pcre/files/pcre/8.45/pcre-8.45.tar.gz
/usr/local# wget --no-check-certificate https://dlcdn.apache.org//httpd/httpd-2.4.51.tar.gz
설치 파일 압축해제
/usr/local# tar xvfz apr-1.7.0.tar.gz
/usr/local# tar xvfz apr-util-1.6.1.tar.gz
/usr/local# tar xvfz pcre-8.45.tar.gz
/usr/local# tar xvfz httpd-2.4.51.tar.gz
apr 설치
/usr/local# cd apr-1.7.0
/usr/local/apr-1.7.0# ./configure --prefix=/usr/local/apr
/usr/local/apr-1.7.0# make
/usr/local/apr-1.7.0# make install
apr-util 설치
/usr/local# cd apr-util-1.6.1
/usr/local/apr-util-1.6.1# ./configure --prefix=/usr/local/apr-util --with-apr=/usr/local/apr
/usr/local/apr-util-1.6.1# make
/usr/local/apr-util-1.6.1# make install
pcre 설치
/usr/local# cd pcre-8.45
/usr/local/pcre-8.43# ./configure --prefix=/usr/local/pcre
/usr/local/pcre-8.43# make
/usr/local/pcre-8.43# make install
apache 설치
/usr/local# cd httpd-2.4.51
/usr/local/httpd-2.4.51# ./configure --prefix=/usr/local/apache2.4 \
--enable-module=so --enable-rewrite --enable-so \
--with-apr=/usr/local/apr \
--with-apr-util=/usr/local/apr-util \
--with-pcre=/usr/local/pcre \
--enable-mods-shared=all
/usr/local/httpd-2.4.51# make
/usr/local/httpd-2.4.51# make install
apache 실행
/usr/local# sudo apache2.4/bin/httpd -k start
/usr/local# ps -ef | grep httpd | grep -v grep
/usr/local# sudo netstat -anp | grep httpd
/usr/local# sudo curl http://127.0.0.1
apache 실행 : httpd -k start
apache 종료 : httpd -k stop
MySQL 설치
필수 패키지 설치
/usr/local# apt-get update
/usr/local# apt-get install cmake
/usr/local# apt-get install libssl-dev
/usr/local# apt-get install libboost-all-dev
/usr/local# apt-get install libncurses5-dev libncursesw5-dev
/usr/local# apt-get install perl
설치 파일 압축해제
/usr/local# wget https://dev.mysql.com/get/Downloads/MySQL-8.0/mysql-8.0.19.tar.gz
/usr/local# tar xvfz mysql-8.0.19.tar.gz
디렉토리 생성 및 소스 설치
/usr/local# cd mysql-8.0.19
/usr/local/mysql-8.0.19# mkdir dir_mysql
/usr/local/mysql-8.0.19# cd dir_mysql
/usr/local/mysql-8.0.19# cd ..
/usr/local# cd src
/usr/local/src# sudo wget https://boostorg.jfrog.io/artifactory/main/release/1.70.0/source/boost_1_70_0.tar.gz
/usr/local/src# sudo tar xvfz boost_1_70_0.tar.gz
/usr/local/src# cd ..
/usr/local# cd mysql-8.0.19/dir_mysql
/usr/local/mysql-8.0.19/dir_mysql# cmake \
.. \
-DCMAKE_INSTALL_PREFIX=/usr/local/mysql \
-DMYSQL_DATADIR=/usr/local/mysql/data \
-DMYSQL_UNIX_ADDR=/usr/local/mysql/mysql.sock \
-DMYSQL_TCP_PORT=3306 \
-DDEFAULT_CHARSET=utf8 \
-DDEFAULT_COLLATION=utf8_general_ci \
-DSYSCONFDIR=/etc \
-DWITH_EXTRA_CHARSETS=all \
-DWITH_INNOBASE_STORAGE_ENGINE=1 \
-DWITH_ARCHIVE_STORAGE_ENGINE=1 \
-DWITH_BLACKHOLE_STORAGE_ENGINE=1 \
-DDOWNLOAD_BOOST=1 \
-DWITH_BOOST=/usr/local/src/boost_1_70_0
실행
/usr/local/mysql-8.0.19/dir_mysql# make
/usr/local/mysql-8.0.19/dir_mysql# make install
MySQL 그룹 및 유저 생성
/usr/local/mysql-8.0.19/dir_mysql# groupadd mysql
/usr/local/mysql-8.0.19/dir_mysql# useradd -r -g mysql -s /bin/false mysql
디렉토리 생성
/usr/local# cd mysql
/usr/local/mysql# mkdir mysql_files
권한 설정
/usr/local/mysql# chown -R mysql:mysql /usr/local/mysql
/usr/local/mysql# chown mysql:mysql mysql_files
/usr/local/mysql# chmod 750 mysql_files
기본 DB 생성
/usr/local/mysql# bin/mysqld --initialize --user=mysql \
--basedir=/usr/local/mysql \
--datadir=/usr/local/mysql/data
이때 임시 비밀번호가 생성됨
MySQL 서버 실행
/usr/local/mysql# bin/mysqld_safe --user=mysql &
로그인
#bin/mysql -u root -p
#Enter password: 비밀번호 입력
PHP 설치
필수 패키지 설치
& sudo su
/usr/local# apt-get install libxml2-dev
/usr/local# apt-get install libjpeg-dev
/usr/local# apt-get install libpng-dev
/usr/local# apt-get install libsqlite3-dev
소스 설치 및 압축 해제
/usr/local# wget https://www.php.net/distributions/php-8.1.0.tar.gz
/usr/local# tar xvfz php-8.1.0.tar.gz
PHP 설치
/usr/local# cd php-8.1.0
/usr/local/php-8.1.0# ./configure \
--with-apxs2=/usr/local/apache2.4/bin/apxs \
--enable-mysqlnd \
--with-mysql-sock=mysqlnd \
--with-mysqli=mysqlnd \
--with-pdo-mysql=mysqlnd \
--with-imap-ssl \
--with-iconv \
--enable-gd \
--with-jpeg \
--with-libxml \
--with-openssl
/usr/local/php-8.1.0# make
/usr/local/php-8.1.0# make test
/usr/local/php-8.1.0# make install
워크북 및 추가 개념
비트나미(Bitnami)
가상 어플라이언스 및 웹 어플리케이션, 개발 스택용 소프트웨어 설치 라이브러리
APM
Apache + Php + Mysql
로컬호스트(localhost)
네트워크에서 자기 자신을 지칭하는 호스트 명 (=127.0.0.1)
가상머신(Virtual Machine)
물리적인 하드웨어 시스템에 구축되어 자체 CPU, 메모리, 네트워크 인터페이스 및 스토리지를 갖추고 가상 컴퓨터 시스템으로 작동하는 가상환경
Linux
오픈소스 유닉스 계열 운영체제
Ubuntu
Linux의 배포판
후기
가상 머신을 처음 다뤄보아 신기하였다.
윈도우 운영체제를 쓰고 있는 노트북에서는 wsl을 통해서만 리눅스를 사용할 수 있을 줄 알았는데, 가상머신을 통해 활용할 수 있다는 점도 새롭게 알 수 있었다.
비트나미, 그리고 apm에 대해서도 공부하였고, virtualbox에 설치를 하는 시간을 가졌다.
설치할 때 필요한 명령어들이 정말 많았고, 오랜 시간을 걸쳐서 설치를 진행하였지만, 그동안 클릭 한번으로 설치한 것과 달리 명령어만을 이용해 설치를 진행한 것이 처음이었고 신기한 경험이었다.
'동아리 > UMC 2기' 카테고리의 다른 글
[UMC 6주차] Restful API와 프레임워크 (0) | 2022.08.27 |
---|---|
[UMC 5주차] 데이터베이스 실전 (0) | 2022.08.27 |
[UMC 4주차] 데이터베이스 이론 및 설계 (0) | 2022.06.30 |
[UMC 3주차] 리눅스 환경 구축 (0) | 2022.06.29 |
[UMC 2주차] 포트포워딩 & AWS (0) | 2022.06.23 |