wxWidgets 설치하기

연습 2018. 4. 3. 23:30
wxWidgets이란, Cross-Platform에서 GUI을 지원해주는 Library이다.

그래서 GUI을 작업할때, 동일한 소스를 이용해서 컴파일을 해도 문제 없이 동작할 수 있는 소스를 만들 수 있다.

설치하는 방법 설명.

먼저, 컴파일 할 수 있는 환경이 완성되어 있다고 보고, Source 파일로 설치하는 방법을 작성할려고 한다.(필자는 MinGW을 사용하는 상태이다.)

다운로드 여기에서 다운을 받아둔다.

설치한 는 방법을 자세하게 설명 되어 있는 사이트는
사이트1사이트2 가 있다.

설명을 모르겠으면, 사이트를 참고할것.

Source 파일을 다운 받아 압축을 풀면, wxWidgets라는 소스 폴더가 있을것이다.
거기서 {wxWidgets Source 파일 압축 푼 경로}\build\msw 에 들어가면, makefile.gcc와 makefile.bcc가 있다.(vs를 사용하면, vs8부터 vs11까지 빌드 파일이 있다.)

거기서 다음과 같은 명령어를 입력한다.

mingw32-make -f makefile.gcc MONOLITHIC=1 SHARED=1 UNICODE=1 BUILD=debug clean
mingw32-make -f makefile.gcc MONOLITHIC=1 SHARED=1 UNICODE=1 BUILD=release clean
mingw32-make -f makefile.gcc MONOLITHIC=1 SHARED=1 UNICODE=1 BUILD=debug
mingw32-make -f makefile.gcc MONOLITHIC=1 SHARED=1 UNICODE=1 BUILD=release

여기서, clean을 하는 이유는 혹시 Build가 되어 있는지 모르는 상황에서 제대로 설치하기 위해서 사용한다.
특히, clean을 사용하면, build된 필요 파일들이 다 날아가니 주의가 필요하다.

이 작업이 거의 1시간정도 여유를 가지고 작업을 하면 결과물은

{wxWidgets Source 파일 압축 푼 경로}\lib\gcc_dll에 저장되어 있을 것이다.

명령어 설명, -f 은 파일을 넣기 위한 명령어.
MONOLITHIC : 모든 라이브러리들을 하나로 묶는것으로, 공유할때 사람들에게 줘야될 DLL의 파일이 하나로 고정되게 된다.(정적 라이브러리도 하나가 된다.)
SHARED : 동적 라이브러리로 만들어내는 것을 설정한다. 0일 경우에는 정적 라이브러리를 빌드한다.
UNICODE : ASCII랑 UNICODE에서 UNICODE를 지원해주는것을 뜻한다.
BUILD : 어느 형태의 빌드 지원 라이브러리를 만들 것인지를 뜻한다. debug일 경우에는 디버그 지원이 있는 라이브러리를, release는 디버그 지원이 없는 라이브러리를 빌드한다.

이렇게해서 컴파일을 하면, wxWidgets 라이브러리 설치가 완료된다.


Posted by JunkMam
,

Qemu 설치하기.

연습 2017. 1. 30. 22:00
 VirtualBox와 그와 유사한 Nox/BlueStack이 현재 제대로 동작하지 않는 상태임을 확인하였다.
 그래서 가상머신(대부분 오픈되어 있거나 프리소프트웨어들이 아니라서...)인 Qemu을 찾아서 사용하게 되었다.

 Qemu는 하드웨어적인 부분을 가상화까지 하기 때문에, 안드로이드나 기타 드라이버를 개발하는 사람들에게 자주 사용이 되는 프로그램으로 알고 있다.
 특히, OS 만들기에서 주로 Qemu을 언급하고 있다.
 Qemu는 윈도우용 리눅스용으로 나뉘어져있는데.
 필자는 윈도우 10을 사용하고 있으니 윈도우용을 사용할 것이다.

 qemu for windows라고 치면, 간단하게 찾을 수 있다.


 다음과 같은 사이트에서 다운을 받을 수 있으며, 최근 (01/13)에는 HAXM 기능이 업그레이드가 되어 있다.(참고로 Visual Studio와 Android Studio에서 사용하는 SDK에서도 기본적으로 Qemu가 사용되고 있다.)

 installer을 다운받아서 install을 시작하면, 설치가 된다.

 Qemu을 간단하게 사용하는 방법은 해당 Document을 참고하거나 다음과 같은 사이트에 잘 설명이 되어 있으니 참고하길 바란다.


 참고로 Qemu을 사용하다가 엄청 느리고 쓰기가 불편해서(GUI를 지원할려면 또 다른 Qemu GUI을 다운받아야 한다.), 사용하고 있지 않았는데.

 최근에 Instel의 HAXM가 지원되면서, 속도가 상태적으로 빨라진 것 같다. 그래서, VirtureBox을 제외한(Boch도 있긴하다.) 가상머신을 사용하기 위해서 설치할려고 한다. 만약에 메모리문제/백신문제가 해결이 된다. 라고 한다면, VirtureBox을 사용할지도 모르겠다.

 설치 방법은 위에 말한 qemu.weilnetz.de/w64에 들어간다.(32bit 운영체제이면, w32을 사용한다.)

 


 여기서 최신 버전 혹은 자기가 설치하고 싶은 버전을 사용한다.

 


 이렇게 해서 Qemu을 설치한다.

 완료하게 되면, 다음과 같은 프로그램들이 있을것이다.

 


 qemu-system-cpu명 이렇게 되어 있는 것으로, cpu에 따라서 원하는 해당 프로그램이 따로 있게 된다.

 즉, 각 실행하는 cpu을 골라야 된다.(그것 말고도 -cpu cpu종류를 사용하면, 해당 cpu을 더 정확하게 설정할 수 있게 되어 있다. -cpu help을 사용하면 된다.)

 


 실행한 결과이다.

 참고로 img을 설정하지 않으면 부팅부분을 찾지 못해서 오류가 나게 된다.

'연습' 카테고리의 다른 글

Qemu 이미지 연결하기.  (0) 2017.02.01
Qemu에서 이미지 만들기.  (0) 2017.01.31
2017/01/24에 업그레이드 한 Windows 10 블루스크린 발생.  (0) 2017.01.27
압축 현황  (0) 2017.01.21
앱 플레이어 녹스  (0) 2017.01.20
Posted by JunkMam
,

 필자는 SSD와  HDD 1TByte가 2개로 사용을 하고 있다.

 (그냥 예외로 말하자면, 몇개의 HDD를 백업한다고 작업하다가 다 날려 먹었다. 백업을 생활화하고, 혹시 모르는 복사한 후에 원본과 함께 남겨 둬라.)


 그런데, Visual Studio가 C:드라이브의 용량 60GByte이상을 잡아 먹고 있다는 점이 있다.


 이것은 꽤 큰 용량을 차지하는 것인데(SSD가 엄청 비싼거 아닌 이상[약 30만원] 50GByte가 큰 용량이다.)


 그래서 사용자로써 Visual Studio의 파일들의 위치를 다른 드라이버로 옮기고 싶다.


 그와 비슷한 생각을 한 사람이 한국과 외국에 있는걸 확인 하였다.


 해당 사이트 : http://softwareji.tistory.com/176


 외국에서는 임시적으로 사용하는 방법으로 Visual Studio의 정보를 mklink을 이용하여 링크를 연결 시키고, 그것을 이용해서 임시적으로 속이는 작업을 사용하였다.


 필자는 Android의 설정만 바꿀려고 하기 때문에, [도구] - [옵션]을 이용해서 조절할려고 했다.


 하지만, 제대로 동작이 되지 않았다.


 동작이 제대로 되지 않아서 외국에서 설정한 방식을 채택할려고 한다.


 mklink라는 것이 무엇인지 알아야 될 것이다.


 링크 : https://technet.microsoft.com/ko-kr/library/cc753194(v=ws.10).aspx


 이렇게 하기 위해서 실행을 하기 위해서 cmd을 관리자 권한을 받아서 사용해야된다.




 이렇게 하여 관리자 권한을 받은 cmd에서 정션을 사용한다.


 여기서 정션이라는 것은 가상 디렉토리를 연결하는 방식으로 하드 링크와는 차이가 있다.


 하드 링크라는 것은 파일을 해당 파티션에서 존재하는 것을 복제하는 것이다.


 그래서 타 볼륨(디스크)에서는 제대로 동작할 수 없고, 디렉토리(파일 정보가 있는 위치를 가지는 정보)를 이용하는 것이다.


 그래서 파일 시스템이 사라진다면, 못 찾지만, 하드 링크가 어떻게든 2개 이상으로 설정이 되어 있다면, 둘중에 하나를 삭제할 경우에도 해당 파일이 삭제가 되지 않는다.(제로 필등의 삭제 방식이나 SSD을 사용하지 않는 이상)


 mklink의 종류를 설명해둔 블로그 링크 : http://cappleblog.co.kr/538


 여기서 mklink /J을 사용한다.


 먼저, VisualStudio에서 설치하게 만든 Android SDK을 옮긴다면,

 해당 Android SDK을 D:\폴더에 옮긴다.


 이 후에 다음과 같이 한다.


 


 이렇게하면, dir을 이용하면, 어떻게 되어 있는지 잘 나오게 되어 있다.


 해당 방식을 이용하면, SSD의 용량을 아낄 수도 있게 된다.


 단, 외국인이 말하기로는 이 방법은 임시 방편이기 때문에 완벽하게 옮기는 방식은 아니다. 라고 한다.


 그러므로 해당 방식을 올바르게 사용한다고 생각하고 사용하는 것은 조심할 필요가 있다.

'연습' 카테고리의 다른 글

Google Photos를 사용 후기.  (0) 2017.01.14
Visual Studio 2015에서 masm 사용하는 방법  (0) 2017.01.13
GitHub 탈퇴하기.  (0) 2017.01.11
VisualStudio에 GitHub 연동시키기.  (0) 2017.01.10
Visual Studio 설치하기.  (0) 2017.01.09
Posted by JunkMam
,

 AMP라고 해서 Apache, MySQL(MariaDB), PHP을 사용해서 처리할 수 있다.


 PHP는 Apache가 요청을 받은 것을 PHP에게 보내서 처리를 하고 PHP는 DB랑 연결되서 처리해준다.


 즉, 모든 요청을 Apache가 처리해주는게 아니다.(그리고 이렇기 때문에 속도가 조금 느린 부분이 있는 걸로 알고 있다.)


 PHP는 다음에 들어가면, 구할 수 있다.

 사이트 : https://secure.php.net/downloads.php


 



 PHP을 설치한 후에 확인 한다면,


 ./configure --prefix=/usr/local/php \

--disable-debug \

--enable-mailparse \

--enable-calender \

--enable-sysvsem=yes \

--enable-sysvshm=yes \

--enable-ftp \

--enable-mgic-quotes \

--enable-gd-native-ttf \

--enable-url-includes \

--enable-trans-id \

--enable-inline-optimization \

--enable-bcmath \

--enable-exif \

--enable-sigchild \

--enable-mbstring \

--enable-safe-mode \

--enable-sockets \

--with-apxs2=/usr/local/apache/bin/apxs \

--with-mysql=/usr/local/mariadb5.5/ \

--with-config-file-path=/usr/local/apache/conf \

--with-mod-charset \

--with-charset=utf8 \

--with-xml \

--with-language=korean \

--with-jpeg \

--with-png \

--with-zlib \

--with-jpeg-dir=/usr \

--with-png-dir=/usr/lib \

--with-freetype-dir=/usr \

--with-libxml-dir=/usr \

--with-gd \

--with-ttf \

--with-gettext \

--with-openssl;


다음과 같은 오류가 날 수가 있다.


 perl등이 Apache에 제대로 설치할때, 안되어 있기 때문이다.

 이 경우에는 Apache을 새로 깔아 주는게 좋다.


 이렇게 한 후에 다시 돌린다.


 다음과 같은 오류가 뜨는데, 이 경우에는 freetype과 freetype-devel을 설치한다.


 초기화가 완료되었다.

 현재 방식을 하는데, 경고가 받아진다.

 경고는 후에 문제를 일으키니, 나중에 찾아서 해결 방법을 기록해야겠다.


 make && make install;


 이렇게 해서 PHP가 설치가 완료된다.


 PHP와 Apache을 연결시키기 위해서 작업하는게 따로 있다.


 먼저 PHP을 설치할때, Apache 경로를 설정했다.

 그 이유는 Apache와 PHP와 연동하기 위해서 설정한 것이다.


 PHP5를 제대로 동작 시키기 위해선, 다음 같은 모듈이 추가 되어야 된다.


 LoadModule php5_module modules/libphp5.so


 libphp5.so는 php5을 실행 시키는 명령(함수)들이 저장되어있는 동적 라이브러리이다.

 Apache가 요청을 받아들인 후에 PHP에게 보낼때, 이걸 이용해서 처리한다라고 봐도 된다.


 만약, 확장자에서 php가 들어간다면, PHP을 실행 시키기 위해서 Type을 추가시켜줘야한다.


 <ifModule></ifModule> 사이에 다음과 같은 문구를 추가한다.


 AddType application/x-httpd-php .php

 AddType application/x-httpd-php-source .phps


 여기서, php가 아닌 html에서도 php문구를 처리하기 위해선


 AddType application/x-httpd-php .php .html .htm


 이렇게 사용하면, 작동이 문제 없이 된다.


 여기서 /usr/local/apache/htdocs 라는 곳에서 index.html 이라는 파일이 있다.

 이 파일은 Apache가 처음에 설치된 후에 이상 없이 작동되는지 확인하기 위한 파일이다.

 이 파일에 다음과 같은 문구를 추가한다.


 <?php

phpinfo();

 ?>


 이렇게 해서 phpinfo라는 함수가 실행되고, php의 정보를 볼 수 있게 한다.


 



 php에서 설치가 제대로 되었는지, 설정이 어떻게 되어있는지를 확인 할 수 있기 때문에 보고 이상 없는지 확인하면 된다.


 파일 : 

apr-1.5.0.tar.gz

apr-util-1.5.3.tar.gz

httpd-2.4.6.tar.gz

pcre-8.33.tar.gz

mariadb-5.5.34.z01

mariadb-5.5.34.z02

mariadb-5.5.34.z03

mariadb-5.5.34.z04

mariadb-5.5.34.z05

mariadb-5.5.34.zip

php-5.4.22.z01

php-5.4.22.z02

php-5.4.22.zip



 SHA-256 표시줄.

 SHA256

 Name

 8505C2AA9F99E6B43D8E5C72CC6F4D8C5A8B3F67DB29C82D9707B98CBC3F3A89 apr-1.5.0.tar.gz
 259CE68F68C531F7ADECF79248F91235271F4025C1A47AE7E51BEE0E07E9902B apr-util-1.5.3.tar.gz
 8365BA360DF345B5AFA36FCA48B4036CE965141E029A6099F464DDF8A94FF0A7  httpd-2.4.6.tar.gz

 36CB3AE0078270F05972E9B8FBB7C859C05FD36DEB2152C77C8C8F4B07D5B28E

 mariadb-5.5.34.z01
 E2DC09A4664E6CEDB5C60F120814C794BB32D6C6583D2F6F9DCACC0DFEFE4FAA mariadb-5.5.34.z02
 31AF790E499982B8186865ED5D8A05E76DCC839899CA265CDA9A8A6343038D5D mariadb-5.5.34.z03
 95567B60520A85F342144A0D8168E57014E4992765FE32F1795BA14626C39A3A mariadb-5.5.34.z04
 9323B5AF8DEC149BE79D8E6764B3D11BD6B211A3956ED1BAC5516DBE3DAB4BC7 mariadb-5.5.34.z05
 C35FE01A7F5F265820E9DD6E800E014F3887E8E7757BCAF1820C909D6865C6D5 mariadb-5.5.34.zip
 C6936ADCDD8730B0C56681775C078B057541EE12BB7953BF912F041F54457B9E pcre-8.33.tar.gz
 E3CA8DBAC09F9CD985D93CA6439F8E5272A4AC8B1880A710C3C57170114FC7AA php-5.4.22.z01
 85AB309E69A00DA00D1A3B668A77F00E70FB2EE06EBD39454CEDD1F94822F5A2 php-5.4.22.z02
 3435510B9B3B8B6EDE933017114613C97B7506F5301BA2F1B4106DBAE9F403FD php-5.4.22.zip


 다운로드 한 후에 7z h 을 이용해서 확인할 수 있다.

Posted by JunkMam
,

 Apache를 이상 없이 설치가 되었으면, 이제 DB을 연결하고 페이지를 만들수 있게 한다.


 DB는 종류가 많은데, MSSQL과 MySQL 등이 있다.


 여기서 MariaDB을 설치하는 것을 할려고 한다.


 DB는 무슨 역할을 하는가?


 DB는 서비스를 제공하는 자(서버)가 서비스를 받는 자(클라이언트)에게 받은 정보 및 서버가 가지고 있는 데이터들을 관리하는 장치가 DB(DataBase)이다.

 특히, MariaDB와 MySQL등 SQL류 DataBase는 관계를 지어서 해당 관계를 이용해서 데이터를 관리하는 방식을 사용한다.

 요즘 NoSQL이 유행한 것들은 이 관계를 미리 틀을 짜서 만들지 않고 유동적인 틀로 사용하는 것이다. 라고 알고 있다.


 그래서 SQL부분이 아예 사용이 안되는게 아니라, 해당 관계에서 조금 더 자유성을 부여된 형식이라고 이해하면 될 것이다.


 MariaDB를 설치하기 위해서 MariaDB 5.5을 설치할려고 한다.


 사이트 : https://downloads.mariadb.org/mariadb/


 여기에서 MariaDB을 다운 받을 수 있다.


 다운받는 경로를 알고 있다면, wget을 이용해서 MariaDB을 다운 받을 수 있다.



 MariaDB는 make만 사용하는게 아니라, 정확하게는 cmake을 사용하게 되어 있다. 그래서 cmake을 설치해줘야 한다.


 yum install cmake



 이렇게 설치가 완료한 후에 MariaDB을 압축을 푼다.

 압축을 푼 MariaDB에서 들어간 후에 target이라는 폴더를 만든다.

 target에서 초기화 작업을 끝낸 후에 target에서 make와 make install을 한다.


 target폴더에서 cmake을 사용하여 초기화 한다.


 cmake .. 

 \-DCMAKE_INSTALL_PREFIX=/usr/local/mariadb5.5

 \-DWITH_INNOBASE_STORAGE_ENGINE=1

 \-DWITH_ARCHIVE_STORAGE_ENGINE=1

 \-DWITH_BLACKHOLE_STORAGE_ENGINE=1

 \-DWITH_PERFSCHEMA_STORAGE_ENGINE=1

 \-DWITH_PARTITION_STORAGE_ENGINE=1

 \-DWITH_FEDERATEDX_STORAGE_ENGINE=1

 \-DWITH_ARIA_STORAGE_ENGINE=1

 \-DWITH_XTRADB_STORAGE_ENGINE=1

 \-DWITH_EXTRA_CHARSETS=all

 \-DWITH_READLINE=1

 \-DWITH_SSL=system

 \-DWITH_ZLIB=system

 \-DMYSQL_DATADIR=/usr/local/mariadb5.5/data

 \-DDEFAULT_CHARSET=utf8

 \-DDEFAULT_COLLATION=utf8_general_ci

 \-DENABLED_LOCAL_INFILE=1;



 다음과 같은 오류가 난다.

 이 경우에는 ncurses을 이용해서 컴파일을 하기 때문에, ncurses-devel을 설치해줘야한다.



 yum install ncurses-devel libevent libxml2 libxml2-devel bison(ncurses-devel 외 나머지는 이유를 모르겠다. 구글링해서 알게 된 것이기 때문에 무조건은 아니다.)


 make을 한 후에 make install 을 하면, 설치가 된다.


 이제, mysql을 연결해주는 사용자를 만들어야한다.


 groupadd -g 27 -o -r mysql;

 useradd -M -g mysql -o -r -d /usr/local/mariadb5.5/data -s /bin/false -c "MariaDB Server" -u 27 mysql;


 mkdir -p /usr/local/mariadb5.5/InnoDB/redoLogs;

 mkdir -p /usr/local/mariadb5.5/InnoDB/undoLogs;


 chown -R mysql /usr/local/mariadb5.5/data;

 chgrp -R mysql /usr/local/mariadb5.5;


 mkdir /usr/local/mariadb5.5/logs /usr/local/mariadb5.5/tmp;


 chown mysql.mysql /usr/local/mariadb5.5/tmp;

 chown mysql.mysql /usr/local/mariadb5.5/logs;


 이렇게해서 log을 받는것, tmp(임시 파일)을 받는 곳을 전부 다 제작해준다.


 maraiDB의 DB를 설치한다.


 /usr/local/mariadb5.5/scripts/mysql_install_db --user=mysql \

--basedir=/usr/local/mariadb5.5 \

--datadir=/usr/local/mariadb5.5/data;



 이렇게 했을때, 다음과 같은 화면이 출력하면서 db을 제작한다.


 /usr/local/mariadb5.5/support-files/mysql.server start;



 이렇게 하면, MariaDB의 서버가 작동이 된다.


 이 후에 DB에서 설정한 admin(관리자)을 제작한다.


 /usr/local/mariadb5.5/bin/mysqladmin -u root password 'passwd';



 이렇게 하면, root 사용자가 passwd을 비밀번호를 가진 상태로 사용할 수 있게 된다.


 이렇게해서

 /usr/local/mariadb5.5/bin/mysql -p

 이렇게 작동을 시키면, mysql이 작동이 되며, 사용자는 MariaDB을 사용할 수 있게 된다.





Posted by JunkMam
,

https을 사용하기 위해선 OpenSSL을 설치하는게 좋다.(SSH가 설치 되어 있다면, 자동으로 OpenSSL이 설치가 되어 있을 것이다.)


 OpenSSL을 연결하기 위해서 OpenSSL을 설치를 해줘야한다.


 OpenSSL-devel이 안 깔려 있기 때문에, 설치하는 도중에 계속 오류가 나게 되므로, 


 yum install openssl과 openssl-devel을 설치해준다.


 openssl-devel이 설치되면서 생기는 차이점은 openssl에 관련된 개발용 헤더들과 파일들이 같이 깔려 있다는 점이다.(만약, openssl이 설치가 안되어 있다면[그럴일 없지만...]  https://www.openssl.org/source/ 에 들어가서 다운 받아서 설치하는게 좋다.)


 yum install libpng* libjpeg* perl* 


 먼저 http는 demon인 httpd을 설치해줘야지 제대로 작동이 된다.


 httpd의 소스는


 https://archive.apache.org/dist/ 에서 구할 수 있다.


 나는 httpd-2.4.6버전을 설치할려고 한다.


 먼저 httpd-2.4.6을 얻는 작업을 한다.

 필자는 wget을 설치해 두었기 때문에 wget을 사용한다.

 wget이 설치가 되어 있지 않다면, 설치하거나 웹페이지에 가서 다운 받으면 된다.

 사이트 : https://archive.apache.org/dist/httpd/



 다운 받은 후에 apache와 openssl을 연동을 하기 위해서 apr 소스를 다운 받는다.

 필자는 apr-1.5.0과 apr-util-1.5.3을 사용한다.


 사이트 : https://archive.apache.org/dist/apr/


 이걸 이용해서, httpd와 apr, apr-util을 풀어준다.


 이렇게 tar zxvf을 이용해서 압축을 풀어주면, 처리가 가능해진다.


 이렇게 하면, httpd와 apr, apr-util이라는 것들이 생성이 된다.

 여기서 httpd을 컴파일 하기 위해서 apr과 apr-util을 옮겨줘야 한다.


 apr-1.5.0 -> httpd-2.4.6/srclib/apr

 apr-util-1.5.3 -> httpd-2.4.6/scrlib/apr-util


 이렇게 변형을 해줘야지 httpd을 컴파일 할때, 같이 사용하게 된다.


 먼저 make을 사용하기 위해서 설정을 사용한다.


 httpd-2.4.6에 들어간 다음에


 ./configure --prefix=/usr/local/apache \

--enable-mods-shared=all \

--enable-ssl \

--enable-so \

--enable-rewrite \

--with-include-apr \

--with-include-apr-util;


 --prefix : Linux에서 설치할 경로를 사용자가 정의하는 것이다.

 --enable-mods-shared : mod 설치하는 것을 동적 라이브러리로 설정하는 것이다.

 --enable-ssl : ssl 라이브러리를 지원하는 것이다.

 --enable-so : 동적 라이브러리로 지원하는 것이다.

 --enable-rewrite : 덮어 씌우기를 지원해주는 것이다.

 --with-include-apr : apr을 포함해서 컴파일하는 것.

 --with-include-apr-util : apr-util을 포함한 컴파일 하는것.


 이렇게해서 설정을 하게 된다.


 설정이 완료된 후에 컴파일을 한다면, 오류가 발생한다.


 


 pcre가 없어서 발생하는오류로. pcre을 설치해줘야 한다.


 yum으로 해도 되지만, 소스 설치를 사용한다.


 다음과 같은 주소에서 가면 , 얻을 수 있다.


 https://sourceforge.net/projects/pcre/files/


 pcre-8.33.tar.gz 을 받아서 사용한다.


 tar zxvf pcre-8.33.tar.gz을 사용해서 압축을 풀어낸 후에 pcre에 들어간다.


 pcre을 설치하기 위해서 컴파일을 하기위해서 초기 설정을 한다.


 ./configure



 이렇게 하면, 초기화가 완료되고 컴파일을 하기 위해서 make로 테스트 한 후에 make install을 해서 컴파일 설치를 완료시킨다.


 설치 완료한 다음에 다시 httpd에서 초기화를 설정하면, 다음과 같이 나오게 된다.



 이것은 OpenSSL-devel가 설치가 안되어 있어서 생기는 문제점이다.(초기화 할때, SSL관련된 경로 및 설정이 잘못 되었을 수도 있다.)


 OpenSSL-devel이 제대로 설치가 되었으면, 문제 없이. 초기화가 된다.


 초기화가 완료되었으면, make & make install 을 이용한다.


 그러면, Apache 설치가 완료가 된다.


 이제 Apache의 설정을 해서 확인 한다.


 여기서는 Apache의 설정을 하는게 있다.

 /usr/local/apache/conf 에서 설정이 들어가 있다.

 httpd.conf라는것에서 초기 설정을 할 수 있다.


 /usr/local/bin/apachectl을 사용하면, 아파치 서버가 작동을 한다.


 멈추게 하고 싶다면,

 /usr/local/bin/apachectl stop 을 사용하면 된다.


 일단, 해당 서버에는 XWindow가 설치가 되어 있지 않기 때문에 우리가 일반 적으로 알고 있는 It's Work 라는 문장이 있는 페이지로 이동하기가 힘들다.


 그래서 lynx(Text Internet Browser 중 하나)을 이용해서 출력하면, 다음과 같이 뜨면서 이상없이 뜨는걸 볼 수 있다.


 localhost로 들어가면, 자기 IP(127.0.0.1)에 들어가며, 제대로 동작하는지 확인을 할 수 있다.



Posted by JunkMam
,

 과거에 웹 서버를 구축하는 방식을 기록할려고 한다.

 웹서버를 구축하는데 까먹을 수도 있고, 요즘 다양한 방식이나 그런게 존재하기 때문에, 이렇게나마 조그만한 거라도 기록하지 않으면, 큰 일이 있을 것 같아서 기록하기로한다.


 먼저, CentOS 6.3을 가지고 리눅스를 설치했다.

 이 후에 리눅스를 이용해서 웹 서버를 만들것인데, yum을 이용해서 설치하는게 아니라.

 source 파일들을 받아서 설치하도록 한다.


 yum과 source 파일로 설치하는 것의 차이는 source 파일로 한다면, 사용자가 원하는 형태로 부분적으로 설치를 할 수 있는 특징을 가지지만, 반대로 yum에 비해서 복잡하고 잔 오류가 많이 발생한다.


 잔 오류가 발생하면, 거기에 맞춰서 고쳐나가야 되는 특징이 있기 때문에, 주의가 요구된다.


 참고로 source 파일로 설치를 할려면, 기본적으로 gcc와 glib, gcc-libs을 깔아 둬야 된다.


 이것은 yum으로 깔아줘야 된다. 그 이전에 souftware development workstation이라는 패키지로 설치하면 자동으로 설치가 된다.


 yum을 이용해서 gcc(GNU C Language Compiler)을 설치하는 과정을 먼저 작성한다.


 gcc와 함께, make(자동 컴파일 장치)을 이용도 사용하기 위해서 make또한 설치해야된다.


 먼저, yum은 웹하드에 저장되어 있는(ftp로 저장이 되어있는) 파일들을 불러와서 설치하는 장치이다. 그래서 인터넷 연결을 해야지 제대로 사용이 가능하다. 이걸 해결하기 위해선 이전글인 수동으로 eth0를 참조하면 된다.[각주:1]

 


 윗 방법으로 설치한다.

 httpd(Apache)는 gcc뿐만 아니라 gcc-c++(C++ 컴파일러)을 이용해서 httpd를 구현하기 때문에, gcc-c++을 인스톨하였다.


 이 방법 말고 정 불안하면, gcc와 gcc-c++와 make을 소스 파일로 가지고 있는 상태를 사용해도 된다.(단, 그럴 경우에는 초기 운영체제를 설치할때, 개발자 도구를 설치해야된다. 컴파일 후에 부딧침을 방지하기 위해서라도 rpm을 돌려서 삭제 작업을 해줘야 한다.)

 소스 파일로 하기 싫다면, rpm 파일을 사용해도 된다.(rpm 파일에서도 그냥, 컴파일 시키는 것과 유사하게 제작하는 것이기 때문에 문제가 될 것까진 아니다.)

 차이점은 사용자가 정의를 내려서 쓰느냐 안 쓰느냐의 차이일 뿐이다.


 그 외에도 make을 이용해서 컴파일 작업을 하기 때문에, make을 설치했다.

 결과를 보면, gcc와 g++, make을 입력했을때, 마지막 사진처럼 나오게 되면, 제대로 설치가 된것이다.


 참고로 필자는 httpd-2.4.6버전을 설치할 생각이다.


 웹에서 다운을 받기 위해서 wget 또한 설치하는게 좋은데, 그것을 위해서라도 yum install wget 또한 설치하는게 좋다.


 wget은 웹에서 들어가서 파일을 다운 받을 수 있게 만드는 장치로써 사용이 유용하다.


 정리하자면,


 yum install gcc gcc-c++ make wget -y


 이렇게 입력을 해주면, 필자가 필요한 장치는 어느정도 설치가 된다.

 참고로 그 외에도 yum을 이용해서 설치하는 일이 있을 것이다.

 지금은 그냥 컴파일을 할 수 있을 정도일 뿐이고, 라이브러리가 더 필요하다.


 필요한 라이브러리는 그때 그때마다 컴파일 하면서 조율하고, 뭐가 필요한지 표시할려고 한다.

  1. http://jihadw.tistory.com/112 [본문으로]
Posted by JunkMam
,