매순간을 소중하게

Ubuntu 16.04 /Ubuntu 12.04 이용해서 개인서버 만들기 본문

퍼블리싱

Ubuntu 16.04 /Ubuntu 12.04 이용해서 개인서버 만들기

바른녀석 2017. 5. 9. 14:11
반응형

안녕하세요 ^^ 오늘은 기존 서버 구축편을 다 읽으신 분들한에 몇가시 서버 안내를 해드리려 합니다 ^^ !


1. nas를 이용해서 서버 구축하기


2.개인컴퓨터 서버사양을 만들기



위의 두가지를 보시면 개인이 필요한 서버를 구축 할수 있습니다.

이번 포스팅의 중점은 우분투 * ubuntu를 이용하는것 이기 때문에

서버용 컴퓨터를 구축하시는 분들 한에 가장 알맞은 포스팅이라 생각합니다.


우선 포스팅에 앞서 리눅스에는 다양한 버전이 있습니다.

개인적으로 센토스 같은 버전 보다는 저는 처음 리눅스 접할시 우분투로 하였기 때문에 우분투로 합니다.


자 그럼 우선 우분투 설치를 위한 usb 드라이버를 만들어야 하는데요. 이부분은 구글링 하면 금새 나오지만 못찾는 분들을 위해 다음 포스팅에 재빠르게 

작성하도록 하겠습니다.




자 우분투 환경으로 생각하고 진행 해 보겠습니다.


앞서 포스팅 제목도 그렇지만 / 우분투 12.04 / 우분투 16.04 를 쓴 이유는 저는 이부분에서 아주 커다란 삽질을 했습니다.


기존 cafe24 단독 호스팅에서 사이트 구축시 php버전이 5.10.3 이었습니다.


그렇지만, 우분투 16.04설치시, 기본 php 5.9 or php 7  이 깔리기 때문에 호환이 되지 않아 스크립이 깨지는등 황당한 경우를 격게 됩니다.


하나씩 버전을 낮추던 중 12.04 만이 옜 버전이라 그런지 호환이 되는걸 확인했습니다.



우선 우분투 설치시 꼭!!! 자신의 기존 웹사이트 php버전을 확인하길 권장합니다.


사실 이번 포스팅에 따로 글은 필요 없습니다.

퍼미션을 적절히 나누어 주면됩니다.

알아서 ~~~( 저는 자동을 나누어 주는걸 선택했습니다)


이제부터 아래 자료대로 진행하면됩니다.



Apache2 웹서버, Mysql DB서버, PHP를 설치하는 과정을 소개하고 마지막으로 php코드를 간단하게 작성하여 DB 서버로 데이터를 넣어보겠습니다.


1. Apache2 웹서버 설치

2. MYSQL 서버 5.5 설치

3. PHP 설치

4. phpMyAdmin 설치 ( 옵션 )

5. php를 이용하여 DB로 데이터 넣어보기


1. apache2 웹서버 설치

1
$ sudo apt-get install apache2
cs

별문제 없으면 웹브라우저에서 localhost 혹은 127.0.0.1로 접속시 다음과 같은 화면을 볼 수 있습니다.



2. MYSQL 서버 5.5 설치

1
$ sudo apt-get install mysql-server
cs

설치 도중에 아래와 같은 화면이 보이면 mysql 서버에 root 계정으로 로그인시 사용할 암호를 입력해 줍니다. 



3. PHP 설치

사용하고자하는 PHP버전에 따라 3-1 또는 3-2를 진행합니다.


3-1. PHP7 설치
1
$ sudo apt-get install php libapache2-mod-php php-mcrypt php-mysql
cs

3-2.  PHP5와 PHP7 같이 설치
1
2
3
$ sudo add-apt-repository ppa:ondrej/php
$ sudo apt-get update
$ sudo apt-get install php7.0 php5.6 php5.6-mysql php-gettext php5.6-mbstring php-xdebug libapache2-mod-php5.6 libapache2-mod-php7.0 php5.6-mcrypt
cs

설치 완료 후, 사용할 PHP 버전에 따라 다음 2가지 명령어들 중 하나를 입력합니다.

PHP5 디폴트 사용시
1
$ sudo a2dismod php7.0 ; sudo a2enmod php5.6 ; sudo service apache2 restart
$ sudo update-alternatives --set php /usr/bin/php5.6
cs

PHP7 디폴트 사용시
1
$ sudo a2dismod php5.6 ; sudo a2enmod php7.0 ; sudo service apache2 restart
$ sudo update-alternatives --set php /usr/bin/php7.0
cs

3-3.  설치 확인
PHP가 정상적으로 설치되었는지 확인하기 위헤  /var/www/html경로에 info.php 파일을 편집기로 새로 열어서
1
$ sudo nano /var/www/html/info.php
cs

다음 내용을 입력하고 저장해줍니다.
1
2
3
<?php
phpinfo();
?>
cs


문제없이 설치가 되었다면 웹브라우저로 127.0.0.1/info.php 접속시 설치된 PHP의 정보를 보여줍니다.





4. phpMyAdmin 설치(옵션)

웹인터페이스로 mysql을 관리하기 위한 패키지입니다.
1
$ sudo apt-get install phpmyadmin
cs

설치 도중 아래와 같은 화면이 보이면 스페이스바를 눌러 apache2를 선택하고 엔터를 칩니다.



예를 선택합니다.



phpmyadmin에서 사용할 암호를 입력해줍니다.







이제 웹브라우저에서 localhost/php5myadmin으로 접속해봅니다. 사용자명에 root를 입력하고 암호에는 앞에서 만든 암호를 입력 입력합니다. 실행을 클릭하면 로그인이 됩니다.




다음과 같은 화면을 볼 수 있습니다.




5. php를 이용하여 DB로 데이터 넣어보기

5-1. Mysql에 테이블 생성

태스트를 위해 데이터베이스를 생성하고 간단한 테이블을 하나 생성합니다.  정수형 데이터 하나만 저장할 것입니다.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
mysql -u root -p
Enter password: 
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 20
Server version: 5.7.13-0ubuntu0.16.04.2 (Ubuntu)
 
 
Copyright (c) 2000, 2016, Oracle and/or its affiliates. All rights reserved.
 
 
Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.
 
 
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
 
 
mysql> create database db;
Query OK, 1 row affected (0.00 sec)
 
 
mysql> use db;
Database changed
mysql> create table data ( num INT);
Query OK, 0 rows affected (0.03 sec)
 
 
mysql> exit
Byeer
cs

사용하는 PHP버전에 따라 5-2 또는 5-3으로 진행합니다.

5-2. PHP7용 코드 작성
테스트에 사용할 PHP파일을 하나 생성합니다. 
$ sudo nano /var/www/html/insert.php

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
<?php
   $link = mysqli_connect("127.0.0.1""root""패스워드""db" );
   if ( !$link ){
      echo "Error: Unable to connect to MYSQL. ".PHP_EOL;
      echo "Debugging errno: " . mysqli_connect_errno() . PHP_EOL;
      echo "Debugging error: " . mysqli_connect_error() . PHP_EOL;
      exit;
   }
 
 
   $num = $_GET["num"];
   $sql = "insert into data (num) values ($num)";
   $result = $link->query($sql);
 
   if(!$result){
      printf("Error: %s\n"$link->error);
   }
 
   mysqli_close($link);
?>
 

cs

5-4를 진행합니다.

5-3. PHP5 용 코드 작성
테스트에 사용할 php파일을 하나 생성합니다. 

$ sudo nano /var/www/html/insert.php

1
2
3
4
5
6
<?php
   $result = mysql_connect("127.0.0.1""root""패스워드 입력"); 
    $num = $_GET["num"];
   $sqlt = "insert into db.data (num) values ($num)";
   mysql_query($sqlt);
?>
cs


5.4 테스트 및 결과 확인
웹브라우저를 열어서 127.0.0.1/run.php?num=100 으로 접속합니다.  이렇게 하면 웹브라우저에서 php코드를 실행시 php  코드상에 있는 num 변수에 100을 넘겨주게 됩니다.  php 에선 이 num에 입력된 값을 사용하여 값을 디비에 넣는 SQL문을 실행하게 됩니다. 





이제 데이터베이스에서 값이 들어갔는지 확인해봅니다. 위에서 입력했던 값인 100이 테이블에 들어가 있는 것을 볼 수 있습니다.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
mysql -u root -p
Enter password: 
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 28
Server version: 5.7.13-0ubuntu0.16.04.2 (Ubuntu)
 
 
Copyright (c) 2000, 2016, Oracle and/or its affiliates. All rights reserved.
 
 
Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.
 
 
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
 
 
mysql> use db;
Reading table information for completion of table and column names
You can turn off this feature to get a quicker startup with -A
 
 
Database changed
mysql> select * from data;
+------+
| num  |
+------+
|  100 |
+------+
 
1 row in set (0.00 sec)
 
mysql> exit
Bye

cs


해당 자료의 출처도 밝힙니다.

(http://webnautes.tistory.com) 문제시 수정 처리 하겠습니다.


기타 보신 자료대 로 하면, 개인서버 구축이 완료됩니다


궁금한점은 댓글 남겨 놓으면 알려드리겠습니다.


감사합니다 ^^ !


반응형
Comments