Chapter 13. DB 서버와웹서버
00. 개요 01. 데이터베이스 02. MariaDB 설치와사용 03. 웹서버설치와사용
데이터베이스가무엇인지설명할수있다. 관계형데이터베이스와관련된용어를이해하고설명할수있다. 기본적인 SQL 문법을이해하고사용할수있다. MariaDB를설치할수있다. MariaDB에서데이터베이스와테이블을생성하고, 데이터를입력및검색할수있다. 아파치웹서버를설치하고외부에서접속하도록설정할수있다. 시스템디렉터리와사용자디렉터리에웹사이트를구축할수있다. APM이연동하도록설치할수있다. 공개게시판을설치하고웹사이트에연결할수있다.
리눅스실습스터디맵
00 개요 [ 그림 13-1] 13 장의내용구성
01 데이터베이스 관계형데이터베이스의기본개념 데이터베이스 : 서로관련성을가진데이터들을데이터간의중복성을최소화해서체계적으로모아놓은것 관계형데이터베이스는데이터를테이블 ( 표 ) 로표현 관계형데이터베이스관련용어 데이터 : 각항목에저장되는값이다. 테이블 : 데이터를체계화하여행과열의형태로구성한것으로테이블이름을붙인다. 데이터베이스 : 관련있는데이터를체계적으로저장한것으로데이터는테이블형태로저장된다. 데이터베이스에는하나이상의테이블이있을수있다. 데이터베이스이름을붙인다. 필드 : 테이블의열을의미하며칼럼이라고도한다. 레코드 : 테이블에저장한한행의정보를의미하며터플 (tuple) 이라고도한다. 한행에는여러필드의값이저장될수있다. 키 : 레코드를구성하는필드에서각레코드를구분할수있는필드값을뜻한다. 예를들어학생데이터를구성하는레코드라면학번필드가키가될수있다. 키로선택된필드의값은중복될수없다. 키는기본키 (primary key) 와그외다른키들이있을수있다.
01 데이터베이스 관계형데이터베이스의예 학생데이터베이스 : 학생신상데이터와성적데이터
01 데이터베이스 SQL 의기초 SQL(structured query language) 관계형데이터베이스를생성, 테이블생성, 데이터입력 / 삭제 / 수정등 데이터베이스관련 SQL 1 데이터베이스보기 : 기존에있는데이터베이스의목록을출력 show databases; 2 데이터베이스생성 : 새로운데이터베이스를생성 create database 데이터베이스이름 ; 예 create database st_db; 3 데이터베이스삭제 : 지정한데이터베이스를삭제 drop database 데이터베이스이름 ; 4 사용할데이터베이스지정 use 데이터베이스이름 ;
01 데이터베이스 테이블관련 SQL 1 테이블보기 : 현재데이터베이스에있는테이블의목록을출력 show tables; 2 테이블생성 : 새로운테이블을생성 create table 테이블이름 ( 필드명 1 필드자료형 1, 필드명 2 필드자료형 2,...); create table st_info (ST_ID int, NAME varchar(20), DEPT varchar(25));
01 데이터베이스 테이블관련 SQL 3 테이블구조보기 : 지정한테이블의구조를출력 explain 테이블이름 ; 4 explain 테이블이름 ; alter table 테이블이름수정명령 ; 테이블에필드추가 : alter table 테이블이름 add 필드명자료형 예 : alter table st_info add AGE int; 필드의자료형변경 : alter table 테이블이름 modify 필드명자료형 예 : alter table st_info modify AGE float; 필드삭제 : alter table 테이블이름 drop column 필드명 예 : alter table st_info drop column AGE; 기본키추가 : alter table 테이블이름 add constraint 제약조건명 primary key ( 필드명 ) 예 : alter table st_info add constraint pk_stinfo primary key (ST_ID); 제약조건명은사용자가정하면된다. 처음테이블을생성하면서기본키를지정할때다음과같이한다. 예 : create table st_info (ST_ID int Not NULL primary key, NAME varchar(20), DEPT varchar(25)); 5 테이블삭제 : 지정한테이블을삭제 drop table 테이블이름 ;
01 데이터베이스 레코드삽입 삭제 수정관련 SQL 1 레코드삽입 : 테이블에새로운레코드를추가 insert into 테이블이름 values ( 값 1, 값 2,...); 예 : insert into st_info values (2010401, 이길동, Game ); 2 레코드수정 : 기존레코드를수정 update 테이블이름 set 필드명 1= 수정할값 1, 필드명 2= 수정할값 2,... where 조건 ; 예 : update st_info set DEPT= Computer where ST_ID=201403; 3 레코드삭제 : 테이블에서해당레코드를삭제 delete from 테이블이름 where 조건 ; 예 : delete from st_info where ST_ID=201403;
01 데이터베이스 레코드검색하기 select 필드명 1, 필드명 2,... from 테이블이름 where 조건 ; select * from st_info; select NAME from st_info where ST_ID=201401; select Linux, DB from st_grade where ST_ID=201401; select st_info.name, st_grade.linux from st_info, st_grade where st_info.st_id=201401 and st_grade.st_id=201401; 접근권한부여하기 시스템관리자가데이터베이스를만들고일반사용자들이사용하도록설정해야할때 grant 문을사용 grant all privileges on DB 명.* to 사용자계정 @localhost identified by ' 패스워드 '; 예 : grant all privileges on st_db.* to user1@localhost identified by '123456';
02 MariaDB 설치와사용 페도라 19 에서가장큰변화중의하나는기본데이터베이스를 MySQL 에서 MariaDB 로변경 MariaDB 설치하고활성화하기 [root@localhost ~]# yum -y install mariadb-server ( 생략 ) Transaction Summary ================================================================================ Install 1 Package (+25 Dependent packages) ( 생략 ) Installed: mariadb-server.x86_64 1:5.5.32-8.fc19 Dependency Installed: mariadb.x86_64 1:5.5.32-8.fc19 mariadb-libs.x86_64 1:5.5.32-8.fc19 perl-anyevent.x86_64 0:7.04-2.fc19 perl-anyevent-aio.noarch 0:1.1-11.fc19 perl-anyevent-bdb.noarch 0:1.1-10.fc19 perl-bdb.x86_64 0:1.90-4.fc19 ( 생략 ) [root@localhost ~]#
02 MariaDB 설치와사용 MariaDB 활성화하기 MariaDB 서버는 mysqld.service 를활성화 [root@localhost ~]# systemctl start mysqld.service [root@localhost ~]# ps -ef grep mysqld mysql 40099 1 0 12:58? 00:00:00 /bin/sh /usr/bin/mysqld_safe -- basedir=/ usr mysql 40257 40099 3 12:58? 00:00:00 /usr/libexec/mysqld --basedir=/usr --datadir=/var/lib/mysql --plugin-dir=/usr/lib64/mysql/plugin --log-error=/var/log/ mysqld.log --pid-file=/var/run/mysqld/mysqld.pid --socket=/var/lib/mysql/mysql.sock root 40300 39916 0 12:58 pts/1 00:00:00 grep --color=auto mysqld [root@localhost ~]#
02 MariaDB 설치와사용 MariaDB 사용하기 MariaDB 의기본프롬프트는 MariaDB [(none)]> [root@localhost ~]# mysql Welcome to the MariaDB monitor. Commands end with ; or \g. Your MariaDB connection id is 2 Server version: 5.5.32-MariaDB MariaDB Server Copyright (c) 2000, 2013, Oracle, Monty Program Ab and others. Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. MariaDB [(none)]> 데이터베이스목록확인하기 : show databases MariaDB [(none)]> show databases; +-----------------------+ Database +-----------------------+ information_schema mysql performance_schema test +-----------------------+ 4 rows in set (0.00 sec) MariaDB [(none)]>
02 MariaDB 설치와사용 데이터베이스생성하기 MariaDB [(none)]> create database st_db; Query OK, 1 row affected (0.01 sec) MariaDB [(none)]> show databases; +-----------------------+ Database +-----------------------+ information_schema mysql performance_schema st_db test +-----------------------+ 5 rows in set (0.01 sec) MariaDB [(none)]> 데이터베이스사용하기 MariaDB [(none)]> use st_db; Database changed MariaDB [st_db]>
02 MariaDB 설치와사용 테이블확인하기 MariaDB [st_db]> show tables; Empty set (0.00 sec) MariaDB [st_db]> 테이블생성하기 학생신상정보테이블 (st_info) 을생성 : default charset=utf8 을추가 MariaDB [st_db]> create table st_info (ST_ID int, NAME varchar(20), DEPT varchar(25)) default charset=utf8; Query OK, 0 rows affected (0.92 sec) MariaDB [st_db]> 학생성적테이블 (st_grade) 을생성 MariaDB [st_db]> create table st_grade (ST_ID int, Linux int, DB int); Query OK, 0 rows affected (0.20 sec) MariaDB [st_db]>
02 MariaDB 설치와사용 생성한테이블확인하기 MariaDB [st_db]> show tables; +-----------------+ Tables_in_st_db +-----------------+ st_grade st_info +-----------------+ 2 rows in set (0.00 sec) MariaDB [st_db]>
02 MariaDB 설치와사용 테이블구조확인하기 MariaDB [st_db]> explain st_info; +---------+-----------------+---------+-------+-------------+----------+ Field Type Null Key Default Extra +---------+-----------------+---------+-------+-------------+----------+ ST_ID int(11) YES NULL NAME varchar(20) YES NULL DEPT varchar(25) YES NULL +---------+-----------------+---------+-------+-------------+----------+ 3 rows in set (0.22 sec) MariaDB [st_db]> explain st_grade; +---------+-----------------+---------+-------+-------------+----------+ Field Type Null Key Default Extra +---------+-----------------+---------+-------+-------------+----------+ ST_ID int(11) YES NULL Linux int(11) YES NULL DB int(11) YES NULL +---------+-----------------+---------+-------+-------------+----------+ 3 rows in set (0.00 sec) MariaDB [st_db]>
02 MariaDB 설치와사용 기본키추가하기 ST_ID 필드를기본키로설정 1 Null 값을허용하지않도록먼저수정 MariaDB [st_db]> alter table st_info modify ST_ID int Not Null; Query OK, 0 rows affected (0.06 sec) Records: 0 Duplicates: 0 Warnings: 0 mysql> alter table st_grade modify ST_ID int Not Null; Query OK, 0 rows affected (0.17 sec) Records: 0 Duplicates: 0 Warnings: 0 MariaDB [st_db]> 2 ST_ID 필드를기본키로설정 MariaDB [st_db]> alter table st_info add constraint pk_stinfo primary key (ST_ID); Query OK, 0 rows affected (1.00 sec) Records: 0 Duplicates: 0 Warnings: 0 MariaDB [st_db]> alter table st_grade add constraint pk_stgrade primary key (ST_ID); Query OK, 0 rows affected (1.40 sec) Records: 0 Duplicates: 0 Warnings: 0 MariaDB [st_db]>
02 MariaDB 설치와사용 기본키추가여부확인 MariaDB [st_db]> explain st_info; +---------+-----------------+---------+-------+-------------+----------+ Field Type Null Key Default Extra +---------+-----------------+---------+-------+-------------+----------+ ST_ID int(11) NO PRI NULL NAME varchar(20) YES NULL DEPT varchar(25) YES NULL +---------+-----------------+---------+-------+-------------+----------+ 3 rows in set (0.22 sec) MariaDB [st_db]> explain st_grade; +---------+-----------------+---------+-------+-------------+----------+ Field Type Null Key Default Extra +---------+-----------------+---------+-------+-------------+----------+ ST_ID int(11) NO PRI NULL Linux int(11) YES NULL DB int(11) YES NULL +---------+-----------------+---------+-------+-------------+----------+ 3 rows in set (0.00 sec) MariaDB [st_db]>
02 MariaDB 설치와사용 레코드입력하기 MariaDB [st_db]> insert into st_info values (201401, ' 이길동 ', 'Game'); Query OK, 1 row affected, 1 warning (0.08 sec) MariaDB [st_db]> insert into st_info values (201402, ' 김길동 ', 'Computer'); Query OK, 1 row affected, 1 warning (0.04 sec) MariaDB [st_db]> insert into st_info values (201403, ' 홍길동 ', 'Game'); Query OK, 1 row affected, 1 warning (0.02 sec) MariaDB [st_db]> insert into st_grade values (201401, 90, 80); Query OK, 1 row affected (0.06 sec) MariaDB [st_db]> insert into st_grade values (201402, 70, 95); Query OK, 1 row affected (0.01 sec) MariaDB [st_db]l> insert into st_grade values (201403, 80, 65); Query OK, 1 row affected (0.00 sec) MariaDB [st_db]>
02 MariaDB 설치와사용 레코드검색하기 1 테이블의전체레코드검색 : st_info 테이블의전체레코드를출력 MariaDB [st_db]> select * from st_info; +------------+-----------+--------------+ ST_ID NAME DEPT +------------+-----------+--------------+ 201401 이길동 Game 201402 김길동 Computer 201403 홍길동 Game +------------+-----------+--------------+ 3 rows in set (0.00 sec) MariaDB [st_db]> 2 학번이 201401 인학생의이름과학과를검색 MariaDB [st_db]> select NAME, DEPT from st_info where ST_ID=201401; +-----------+-----------+ NAME DEPT +-----------+-----------+ 이길동 Game +-----------+-----------+ 1 row in set (0.01 sec) MariaDB [st_db]>
02 MariaDB 설치와사용 레코드검색하기 3 학번이 201401 인학생의리눅스성적을검색 MariaDB [st_db]> select Linux from st_grade where ST_ID=201401; +----------+ Linux +----------+ 90 +----------+ 1 row in set (0.00 sec) MariaDB [st_db]> 4 학번이 201401 인학생의이름과학과, DB 성적을한번에검색 MariaDB [st_db]> select st_info.name, st_info.dept, st_grade.db -> from st_info, st_grade -> where st_info.st_id=201401 and st_grade.st_id=201401; +-----------+---------+--------+ NAME DEPT DB +-----------+---------+--------+ 이길동 Game 80 +-----------+---------+--------+ 1 row in set (0.03 sec) MariaDB [st_db]>
02 MariaDB 설치와사용 데이터수정하기 예를들어학번이 201401 인학생의 DB 성적을 80 점에서 90 점으로수정 MariaDB [st_db]> update st_grade set DB=90 where ST_ID=201401; Query OK, 1 row affected (0.10 sec) Rows matched: 1 Changed: 1 Warnings: 0 MariaDB [st_db]> select * from st_grade where ST_ID=201401; +-----------+----------+---------+ ST_ID Linux DB +-----------+----------+---------+ 201401 90 90 +-----------+----------+---------+ 1 row in set (0.01 sec) MariaDB [st_db]>
02 MariaDB 설치와사용 MariaDB 관리하기
02 MariaDB 설치와사용 MariaDB 상태정보출력하기 [root@localhost ~]# mysqladmin status Uptime: 1319 Threads: 1 Questions: 28 Slow queries: 0 Opens: 12 Flush tables: 2 Open tables: 28 Queries per second avg: 0.021 [root@localhost ~]# 상태정보로출력되는주요항목 Uptime : 서버가동작한시간을초단위로표시 Threads : 현재동작중인 MariaDB 서버스레드수 Questions : 서버가동작한이후처리한질의수 Slow queries : 일정시간보다처리시간이길어진질의수 Opens : 서버가열었던테이블수 Flush : flush, refresh, reload 명령을수행한횟수 Open tables : 현재열려있는테이블수
02 MariaDB 설치와사용 MariaDB 버전정보출력하기 [root@localhost ~]# mysqladmin version mysqladmin Ver 9.0 Distrib 5.5.32-MariaDB, for Linux on x86_64 Copyright (c) 2000, 2013, Oracle, Monty Program Ab and others. Server version 5.5.32-MariaDB Protocol version 10 Connection Localhost via UNIX socket UNIX socket /var/lib/mysql/mysql.sock Uptime: 22 min 26 sec Threads: 1 Questions: 29 Slow queries: 0 Opens: 12 Flush tables: 2 Open tables: 28 Queries per second avg: 0.021 [root@localhost ~]#
02 MariaDB 설치와사용 MariaDB 서버암호설정하기 [root@localhost ~]# mysqladmin password '123456' [root@localhost ~]# 암호를설정한뒤그냥접속하면오류메시지출력 [root@localhost ~]# mysql ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: NO) [root@localhost ~]# 암호를입력하기위해 -u 옵션으로계정이름을지정하고, -p 옵션으로암호를입력 [root@localhost ~]# mysql -u root -p Enter password: 암호를입력한다. Welcome to the MariaDB monitor. Commands end with ; or \g. Your MariaDB connection id is 7 Server version: 5.5.32-MariaDB MariaDB Server Copyright (c) 2000, 2013, Oracle, Monty Program Ab and others. Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. MariaDB [(none)]>
아파치설치하고활성화하기 [root@localhost ~]# yum -y install httpd ( 생략 ) Dependencies Resolved ================================================================================ Package Arch Version Repository Size ================================================================================ Installing: httpd x86_64 2.4.6-2.fc19 updates 1.1 M Installing for dependencies: apr x86_64 1.4.6-6.fc19 fedora 98 k apr-util x86_64 1.4.1-8.fc19 fedora 81 k httpd-tools x86_64 2.4.6-2.fc19 updates 75 k ( 생략 ) Installed: httpd.x86_64 0:2.4.6-2.fc19 Dependency Installed: apr.x86_64 0:1.4.6-6.fc19 apr-util.x86_64 0:1.4.1-8.fc19 httpd-tools.x86_64 0:2.4.6-2.fc19 Complete! [root@localhost ~]#
아파치활성화하기 서비스의이름은 httpd.service httpd 는독자형으로동작하는데몬이므로 systemctl 명령으로시작 [root@localhost ~]# systemctl start httpd.service [root@localhost ~]# ps -ef grep httpd root 30984 1 1 03:16? 00:00:00 /usr/sbin/httpd -DFOREGROUND apache 30985 30984 0 03:16? 00:00:00 /usr/sbin/httpd -DFOREGROUND apache 30986 30984 0 03:16? 00:00:00 /usr/sbin/httpd -DFOREGROUND apache 30987 30984 0 03:16? 00:00:00 /usr/sbin/httpd -DFOREGROUND apache 30988 30984 0 03:16? 00:00:00 /usr/sbin/httpd -DFOREGROUND apache 30989 30984 0 03:16? 00:00:00 /usr/sbin/httpd -DFOREGROUND root 30997 25372 0 03:17 pts/3 00:00:00 grep --color=auto httpd [root@localhost ~]#
웹서버접속하기 방화벽확인 [root@localhost ~]# firewall-cmd --add-service=http [root@localhost ~]# 윈도의웹브라우저에서 http://ip 주소 를입력하여접속 [ 그림 13-3] 아파치웹서버초기화면
내가만든웹페이지띄우기 현재웹서버의기본디렉터리는 /var/www/html vi 로작성하여 index.html 로저장 [root@localhost ~]# cd /var/www/html [root@localhost html]# ls [root@localhost html]# vi index.html <html> <head> <title>html test</title> </head> <body> My First Web Page!!! </body> </html> :wq [root@localhost html]]#
내가만든웹페이지띄우기 [ 그림 13-4] 웹페이지출력화면
일반사용자계정을위한웹설정하기 웹설정과관련된파일은 /etc/httpd/conf.d/userdir.conf 파일 1 vi 로 /etc/httpd/conf.d/userdir.conf 파일을열어다음과같이수정 [root@localhost html]# vi /etc/httpd/conf.d/userdir.conf <IfModule mod_userdir.c> # # UserDir is disabled by default since it can confirm the presence # of a username on the system (depending on home directory # permissions). # # UserDir disabled 앞에 # 를추가한다. # # To enable requests to /~user/ to serve the user's public_html # directory, remove the "UserDir disabled" line above, and uncomment # the following line instead: # UserDir public_html 앞의 # 를삭제한다. </IfModule> ( 생략 ) :wq [root@localhost html]#
일반사용자계정을위한웹설정하기 2 httpd의설정파일이수정되었으므로 httpd.service를다시동작 [root@localhost html]# systemctl restart httpd.service 3 사용자홈디렉터리에서다음작업수행 user1 계정으로전환하고, 홈디렉터리에 public_html 디렉터리생성 [user1@localhost ~]$ mkdir pubic_html 디렉터리의접근권한을조정 [user1@localhost ~]$ chmod 701. [user1@localhost ~]$ chmod 701 public_html
일반사용자계정에서웹페이지작성하기 1 public_html 디렉터리아래에 index.html 파일을생성 [user1@localhost ~]$ cd public_html [user1@localhost public_html]$ vi index.html <html> <head> <title>html test</title> </head> <body> User1 Web Page!!! </body> </html> :wq [user1@localhost public_html]$ 2 웹브라우저에서 html 문서를확인 : http:// 웹서버주소 /~ 사용자계정 http://192.168.0.13/~user1
일반사용자계정에서웹페이지작성하기 3 브라우저에 403 오류가나타난다면앞의과정에서접근권한을잘못조정했거나 selinux 로보안문제 [ 그림 13-5] 403 오류화면 권한을다시확인한뒤 selinux 의보안을해제하고확인 [root@localhost html]# setenforce 0
일반사용자계정에서웹페이지작성하기 4 브라우저에서 html 문서의내용을다시확인 [ 그림 13-6] 사용자웹페이지출력화면
APM 설치하기 웹서버아파치와웹프로그래밍언어인 PHP, 데이터베이스인 MySQL(MariaDB) 를묶어서 APM APM 을연동하기위해설치해야할 PHP 패키지는 php, php-gd, php-mysql [root@localhost html]# yum -y install php php-gd php-mysql ( 생략 ) Installed: php.x86_64 0:5.5.4-1.fc19 php-gd.x86_64 0:5.5.4-1.fc19 php-mysqlnd.x86_64 0:5.5.4-1.fc19 Dependency Installed: libzip.x86_64 0:0.10.1-6.fc19 php-cli.x86_64 0:5.5.4-1.fc19 php-common.x86_64 0:5.5.4-1.fc19 php-pdo.x86_64 0:5.5.4-1.fc19 php-pear.noarch 1:1.9.4-20.fc19 php-pecl-jsonc.x86_64 0:1.3.2-2.fc19 php-process.x86_64 0:5.5.4-1.fc19 php-xml.x86_64 0:5.5.4-1.fc19 t1lib.x86_64 0:5.1.2-12.fc19 Complete! [root@localhost html]#
PHP 의동작확인하기 httpd.service, MariaDB 를다시동작 [root@localhost html]# systemctl restart httpd.service [root@localhost html]# systemctl restart mysqld.service [root@localhost html]# PHP 의동작을확인하기위해 /var/www/html 에다음파일작성 [root@localhost html]# vi phpinfo.php <?php phpinfo();?> :wq [root@localhost html]#
PHP 의동작확인하기 웹브라우저에서 http://ip 주소 /phpinfo.php 로접속 [ 그림 13-7] PHP 동작확인화면
게시판설치하기 ( 그누보드 ) 1 그누보드다운로드 : 리눅스에서웹브라우저를실행하여그누보드사이트 (sir.co.kr) 에접속하여다운로드 [ 그림 13-8] 그누보드최신버전다운로드화면
게시판설치하기 ( 그누보드 ) 2 내려받은파일을 /var/www/html 로복사 [root@localhost html]# cp ~user1/ 다운로드 /g5-5.0b04.tar.gz. [root@localhost html]# 3 tar 로묶고압축된파일이므로압축을푼다. [root@localhost html]# tar xvzf g5-5.0b04.tar.gz ( 생략 ) g5-5.0b04/skin/visit/ g5-5.0b04/skin/visit/basic/ g5-5.0b04/skin/visit/basic/style.css g5-5.0b04/skin/visit/basic/visit.skin.php g5-5.0b04/tail.php g5-5.0b04/tail.sub.php [root@localhost html]#
게시판설치하기 ( 그누보드 ) 4 그누보드가사용할데이터베이스를구축 [root@localhost html]# mysql -u root -p Enter password: Welcome to the MariaDB monitor. Commands end with ; or \g. Your MariaDB connection id is 2 Server version: 5.5.32-MariaDB MariaDB Server ( 생략 ) MariaDB [(none)]> create database gnu; Query OK, 1 row affected (0.09 sec) MariaDB [(none)]> exit Bye [root@localhost html]#
게시판설치하기 ( 그누보드 ) 5 윈도에서웹브라우저로접속하여설정 : http://ip 주소 /g5-5.0b04 6 웹브라우저에 [ 그림 13-9] 와같이출력된다면 /etc/php.ini 를수정 [ 그림 13-9] 그누보드설치오류화면 7 /etc/php.ini 파일의 211 행에있는 short_open_tag 의값을 Off 에서 On 으로수정 [root@localhost html]# vi /etc/php.ini ( 생략 ) short_open_tag = On ( 생략 ) :wq [root@localhost html]# systemctl restart httpd.service [root@localhost html]#
게시판설치하기 ( 그누보드 ) 8 다시 http://ip 주소 /g5-5.0b04 에접속 -> 그누보드 5 설치하기 를클릭 [ 그림 13-10] 그누보드설치 : DB 설정오류화면
게시판설치하기 ( 그누보드 ) 9 그누보드 5 설치하기 를클릭 -> 설치 1 단계 -> data 디렉터리를만들고접근권한을 707 로수정 [ 그림 13-11] 그누보드 5 설치 1 단계 : data 디렉터리생성 [root@localhost html]# cd g5-5.0b04 [root@localhost g5-5.0b04]# mkdir data [root@localhost g5-5.0b04]# chmod 707 data [root@localhost g5-5.0b04]#
게시판설치하기 ( 그누보드 ) 10 접근권한을조정한후브라우저에서새로고침 : 라이선스에동의 [ 그림 13-12] 그누보드 5 설치 2 단계 : 라이선스확인
게시판설치하기 ( 그누보드 ) 11 MariaDB 에설정한 DB 정보와그누보드관리자정보를입력 MariaDB [(none)]> grant all privileges on gnu.* to gnuser@localhost identified by '123456'; Query OK, 0 rows affected (0.14 sec) MariaDB [(none)]> [ 그림 13-13] 그누보드 5 설치 3 단계 : DB 정보설정
게시판설치하기 ( 그누보드 ) 12 그누보드설치가완료되었다. 메인화면으로가기 를클릭 [ 그림 13-14] 그누보드 5 설치 4 단계 : 설치완료
게시판설치하기 ( 그누보드 ) 13 메인화면 [ 그림 13-15] 그누보드 5 설치 : 그누보드메인화면
웹페이지에게시판연결하기 - 게시판생성 1 admin 계정으로로그인한다음 관리자모드 를클릭 [ 그림 13-16] 그누보드사용 : admin 로그인화면
웹페이지에게시판연결하기 - 게시판생성 2 게시판그룹을생성 : 게시판관리 를클릭 -> 게시판그룹관리 를선택 [ 그림 13-17] 그누보드사용 : 관리자화면
웹페이지에게시판연결하기 - 게시판생성 3 게시판그룹을추가하기위해관리화면에서오른쪽의 게시판그룹추가 를클릭 [ 그림 13-18] 그누보드사용 : 게시판그룹관리화면
웹페이지에게시판연결하기 - 게시판생성 4 게시판그룹추가 를클릭하면게시판그룹생성화면 -> 그룹 ID 와그룹제목만입력하고 확인 을클릭하면게시판그룹이생성 [ 그림 13-19] 그누보드사용 : 게시판그룹생성화면
웹페이지에게시판연결하기 - 게시판생성 5 게시판그룹생성이완료되면 게시판생성 버튼이표시되는데이버튼을클릭하면게시판생성화면이출력 [ 그림 13-20] 그누보드사용 : 게시판생성버튼클릭
웹페이지에게시판연결하기 - 게시판생성 6 게시판의여러속성을설정하는항목 [ 그림 13-21] 그누보드사용 : 게시판생성
웹페이지에게시판연결하기 - 게시판생성 7 게시판이생성되면 목록 버튼을클릭 -> 게시판관리화면으로돌아가고생성된게시판을확인 [ 그림 13-22] 그누보드사용 : 게시판목록
웹페이지에게시판연결하기 - 게시판생성 8 게시판목록에서테이블이름 (linux_bbs) 을클릭 -> 글쓰기 버튼을클릭 -> 브라우저상단의주소를복사 [ 그림 13-23] 그누보드사용 : 게시판사용
게시판을웹페이지에연결하기 9 user1 사용의홈디렉터리에 public_html 디렉터리를만들고 index.html 파일을작성 [user1@localhost ~]$ cd public_html [user1@localhost public_html]$ vi index.html <html> <head> <title>html test</title> </head> <body> User1 Web Page!!! <br><br> <a href=http://192.168.0.13/g5-5.0b04/bbs/board.php?bo_table=linux_bbs> 리눅스실습게시판연결 </a> </body> </html> :wq [user1@localhost public_html]$
게시판을웹페이지에연결하기 10 웹브라우저에서 http://ip 주소 /~user1 에접속하면 리눅스실습게시판연결 링크가출력 [ 그림 13-24] 그누보드사용 : 게시판연결