우분투 리눅스에서 APM(Apache+Php+MySQL)을 설치해 보도록 하겠습니다.

이 글은 컴파일해서 쓰는게 아니라 패키지 자체설치로 초보자도 간단하게 설치해볼수 있습니다.

APM이란 리눅스에서 웹서버를 구성할때 많이 쓰는 프로그램의 일반적인 통합명칭입니다.

부르기 쉽게 한데로 모아서 APM이라고 부릅니다. 요즘은 LAMP(Linux + Apache + MySQL + Php/Perl,Python)환경 이라고도 부르기도 합니다.

아파치(Apache)는 웹서버 자체로서 일반적인 프로토콜인 Http프로토콜을 사용합니다. 또한 Https,ftp등도 지원을 하게 됩니다.

MySQL은 데이터베이스 엔진으로서 각종 게시판이나 데이터베이스를 사용해야할때 많이 쓰이는 프로그램입니다. MySQL뿐만 아니라 PostgresSQL도 사용이 가능합니다.

PHP는 스크립트언어로서 웹페이지를 구성할수 있는 언어중 하나입니다. 많은 웹 프로그램들이 php로 작성 되고 있습니다.


일반적으로 설치순서는 Apache -> MySQL -> PHP 등으로 이루어 지게 됩니다.


1) 설치 

1.Apache

먼저 Apache를 설치하여 보겠습니다. 버전은 apache2버전을 기준으로 하겠습니다.

터미널을 열고 다음 명령을 입력합니다.

 

sudo apt-get install apache2


    다음으로 mysql을 인증을 위한 모듈을 설치하겠습니다.


    sudo apt-get install libapache2-mod-auth-mysql


      다음으로 MySQL


      sudo apt-get install mysql-server mysql-client

        설치가 완료되면 MySQL서버가 자동으로 시작이 됩니다.


        마지막으로 PHP 버전은 PHP5 기준으로 하겠습니다.

        마찬가지로 터미널에서 다음을 입력합니다.

        sudo apt-get install php5-common php5 libapache2-mod-php5

          MySQL과 연동하기 위한 모듈을 설치합니다. 

          sudo apt-get install php5-mysql

            이상으로 설치가 완료 되었습니다.


            아파치 웹서버를 제 시작하겠습니다. 

            sudo /etc/init.d/apache2 restart

              MySQL서버도 정상적으로 작동하는지 확인해 보고 작동을 안한다면 restart 를 해줍니다.

              sudo netstat -tap | grep mysql

              명령을 줬을때 

              tcp 0 0 localhost.localdomain:mysql *:* LISTEN -

              와 비슷한 것을 보면 정상이고 그렇지 않다면

              sudo /etc/init.d/mysql restart

              로 재시작을 해줍니다.


              모든게 정상이라면

              에디터를 열고 웹서버의 디렉토리(일반적으로 "/var/www" 에서 phpinfo.php라는 파일을 만들고 다음의 소스코드를 넣어 줍니다.

              1. <?php
              2. print_r(phpinfo());
              3. ?>

              그리고 웹브라우저를 열고 실행을 시켜봅니다.


              일반적으로 http://호스트주소/phpinfo.php 로 주소를 열면 됩니다.


              다음과 같은 화면이 나오면 웹서버를 위한 환경이 구성이 되었습니다.

              스크롤을 내려 Apache 와 MySQL 등을 찾아 제대로 연결이 되었는지 확인해 봅니다.

              각종 사항은 설정마다 다르게 나올것입니다.

               

              사용자 삽입 이미지

              phpinfo



              phpinfo.png

              2) 설정

              1. 아파치 

              아파치의 기본설정 파일은 /etc/apache2/apache2.conf

              포트번호, 문서의루트, 모듈, 각종 로그파일, 가상 호스트 등을 설정할수 있습니다.

              자세한 사항은 아파치 문서를 참조하시기 바랍니다.


              2.  MySQL

              mysql 의 관리자 암호는 처음에는 지정이 되지 않은 상태입니다.

              관리자 암호를 설정하기 위해서는 

              sudo mysqladmin -u root password newrootsqlpassword 

              sudo mysqladmin -p -u root -h localohost password newrootpassword

                을 입력합니다.

                첫번째 줄만 실행해도 설정은 될것입니다.

                MySQL 설정파일은 /etc/mysql/my.cnf 파일이고 로그 파일, 포트 번호등을 설정할수 있습니다.


                이상으로 훌륭한 웹서버 환경을 구축하게 되었습니다.

                처음 시작이니 만큼 보다 많은 노력과 시간을 들이는게 중요하다고 봅니다.

                여러 문서를 참조하여 실력을 쌓으시길 바랍니다. 행운을 빕니다~ 


                403 Forbidden



                Forbidden

                You don't have permission to access / on this server.

                Apache/1.3.27 Server at localhost Port 80


                서버 운영시 접속이 안돼 이런 오류가 나는 경우가 있는데,

                이는 아파치를 구동하는 nobody 계정에서 해당 디렉토리에 접근할 수 없는 과정에서 발생하는 퍼미션 오류라고 합니다.




                <해결 방법>

                /home/aaa/public_html/ 으로 구성되어 있을 경우

                chmod 701 사용자ID 또는 chmod 711 사용자ID 정도의 권한을 부여하면 됩니다.

                즉 chmod 701 aaa 또는 chmod 711 aaa 입니다. 보통 711을 많이 사용하시네요.



                위 조치로도 해결이 안되면 http://youdw.egloos.com/171450 도 참고.



                PS> 지금 XE 업글하면서 호환성에 문제가 있어 스킨 등을 확 손보고 있습니다.

                출처 : http://itviewpoint.com/110443

                리눅스에 useradd 로 password와 계정들을만든후
                vi /etc/passwd 들어가보시면 제일 밑에 
                님이 만드신 아이디가 잇으면 보일거에요
                그중에 root 가 있어요
                없을 수도 있지만 상관 없어여
                만약에 user 라고 계정을 만들었으면
                vi /etc/passwd   에   제 일 밑에  :9999 눌러서 가 보면
                user :X:500:500::/home/user:/bin/bash
                이런식으로 되있을거에요
                다른 건 상관 없구
                X : 500:500
                에서  앞에 500 이라고 되어있는걸
                0 으로 바꿔주시면  root 권한이 주어집니다
                user :X:0:500::/home/user:/bin/bash

                '공부 > 일반' 카테고리의 다른 글

                리눅스(우분투12.04)서버에 Nginx, Mysql, Php 설치하기  (0) 2012.10.03
                리눅스서버에 APM설정  (0) 2012.09.11
                리눅스 서버 FTP 세팅  (0) 2012.08.29
                리눅스접속  (0) 2012.08.24
                티스토리 코드하이라이터 사용2  (0) 2012.08.23


                 리눅스를 사용하면서 FTP 설정을 해 놓으면 여러모로 편한 점이 있습니다. 저의 경우엔 주로 Windows 환경의 OS를 사용하다가 웹 서버에 어떤 파일을 업로드 하거나 웹 페이지를 변경 할 일이 있으면 FTP를 이용해서 변경을 합니다. 직접 서버에 접속을 해서 변경할 수도 있지만 아무래도 편집기 환경이 윈도우와 다르기 때문에 작업하기가 힘들 수도 있기 때문이죠. 

                 이럴 때, FTP 가 사용 가능하면 좋은데, 이번에 우분투를 사용하게 되어 우분투에 FTP를 설정하는 방법을 포스팅 하게 되었습니다. ( 나중에 보고 따라할 수도 있어서 기록 해 놓으려구요 ㅎㅎ )

                 일단 저는 우분투에 SSH를 이용한 터미널 작업으로 세팅하도록 하겠습니다. 서버 관리에서 직접 서버 컴퓨터에 가서 모니터 켜고 콘솔 작업을 하는 사람은 많지 않을테니까요 ㅋㅋ 저는 한글 PUTTY를 이용해서 접속을 했습니다. 일반 Putty로 접속을 하니까 우분투의 한글이 깨지더라구요. 세팅하기 귀찮아서 한글 PUTTY로 접속을 하였습니다. 

                한글 putty 다운로드


                 네 우분투에 FTP를 설치하는 명령어는 매우 간단합니다. 

                $ sudo apt-get install vsftpd
                $ sudo vi /etc/vsftpd.conf

                두 명령어를 입력하시면 FTP 데몬이 설치되고, 설정 페이지가 나옵니다. 
                여기서 아래의 세군데의 주석을 해제 하시고, 다음과 같이 세팅을 해줍니다. 
                ==================== 편집기 ======================
                anonymous_enable=NO
                local_enable=YES
                write_enable=YES
                =================================================


                $ sudo /etc/init.d/vsftpd restart

                그리고 FTP 데몬을 재시작 시켜 주시면 완료!!

                 
                그럼 직접 따라해 볼까요? PUTTY를 이용해서 여러분의 서버에 접속을 하시면 다음과 같은 화면이 뜹니다. 



                이제 첫 번째 명령어를 써 넣습니다. 
                첫번째 명령어는 
                $ sudo apt-get install vsftpd

                였죠? 이 명령어는 vsftpd 라는 데몬을 설치하라는 명령어입니다. 




                여기서 한글이 깨져서 나오는 경우가 있는데 그런 경우엔 다음 링크를 참조하시기 바랍니다. 

                2010/07/22 - [컴퓨터 공학/OS/Linux/Windows] - putty 한글 깨짐 현상 해결

                네 이제 vsftpd 데몬이 설치가 되었구요. 

                $ sudo vi /etc/vsftpd.conf

                위 명령어를 입력하면 vsftpd 의 설정에 관한 내용들을 볼 수 있습니다. 
                굉장히 긴데요. 문장이 #으로 시작하는 것은 주석처리가 된 것으로 설정에 영향을 미치지 않는 부분들입니다. 


                설정 내용 중에 잘 보시면 위의 3가지를 볼 수 있습니다. 
                각각 다음과 같이 변환을 해 줍니다. 

                anonymous_enable=NO
                local_enable=YES
                write_enable=YES

                맨 처음 anonymous_enable 은 YES 에서 NO로 바꿔 주시구요
                다음 두개는 맨 앞의 # 을 제거해 주시기만 하면 됩니다. 

                VI 에디터 사용법은 다음 링크를 따라가 보시기 바랍니다. 

                http://www.cyworld.com/duck_info/3551206


                $ sudo /etc/init.d/vsftpd restart

                그리고 위 명령어를 입력하여 데몬을 다시 시작합니다. 




                이제 FTP 프로그램으로 접속을 해보겠습니다. 
                간단하게 알 FTP로 실험을 해보겠습니다. 


                접속이 잘 되네요. 
                근데 한글은 또 왜 깨지나요 ㅋㅋ 
                이제 서버와 여러분의 컴퓨터와의 FTP 설정이 끝났습니다. 그냥 웹 하드처럼 쓰셔도 될 듯 하네요.

                출처 : http://plusblog.tistory.com/416

                '공부 > 일반' 카테고리의 다른 글

                리눅스서버에 APM설정  (0) 2012.09.11
                리눅스 일반계정 관리자권한주기  (0) 2012.08.31
                리눅스접속  (0) 2012.08.24
                티스토리 코드하이라이터 사용2  (0) 2012.08.23
                티스토리에 부트스트랩 적용하기  (0) 2012.08.22

                http://www.1000dedi.net/rew1/cloud/con_manual_lnx.html

                http://www.androidhive.info/2012/02/android-gridview-layout-tutorial/

                http://collegewires.com/android/2012/06/android-grid-view-example/

                그리드뷰 xml

                <GridView android:id="@+id/gridview_id" // 아이디 값 
                   android:layout_width="750px" //너비
                   android:layout_height="340px"//높이 
                   android:verticalSpacing="5px" //item의 상하 간격
                   android:horizontalSpacing="5px"//아이템의 좌우 간격
                   android:numColumns="auto_fit" //Grid 한 Row에 나열될 Column의 개수를 지정(1~n개). "auto_fit"으로 설정하면 사용 가능한 공간에 따라 자동으로 column의 개수 정해짐. 
                   android:columnWidth="100px"  //  Column의 너비를 pixel로 지정. 
                   android:stretchMode="none" //android:numColumns이 "auto_fit"으로 설정되었을때만 적용. auto_fit을 하고 남은 좌우 공간을 어떻게 분배할지를 결정함. columnWidth로 설정되면 남은 공간이 column들에게 골고루 할당되며, spacingWidth로 설정되면 column간 여백이 남은 공간을 골고루 나눠 할당 받음.
                   android:gravity="center" //레이아웃에서의 그리드뷰 위치 
                   android:visibility="gone"//화면에 보이기 설정 
                  />
                
                

                웹 사이트를 돌아다니다보면, 포스트 중에 프로그래밍 코드를 읽기 쉽게 보여주는 뷰어를 제공한다. 바로 Syntax Highlighter를 사용한 것이다. 우리나라에서는 코드 하이라이트라고 더 많이 알려져있다. 코드 하이라이트는 오픈소스 라이센스(L-GPL)를 따르기 때문에 누구나 사용할 수 있다.






                1. 코드 하이라이트(Syntax Highlighter) 다운로드

                • 다운로드 : 




                2. 코드 하이라이트(Syntax Highlighter) 업로드
                • 다운로드 받은 파일의 압축을 풀면 나오는 폴더 중 다른 것들은 무시하고 scripts 폴더와 styles 폴더의 파일만 업로드하면 된다. 티스토리의 경우 자동으로 images/ 폴더에 업로드 될것이다.

                • 코어 필수 파일 : scripts/shCore.js
                • 언어 선택 파일 : scripts/shBrush*.js
                  • 사용할 언어를 복수개 선택해야한다. 업로드는 다 해두고, 사용할 언어만 선택하면 된다.
                • 스타일 선택 파일 : styles/shCore*.css
                  • 스타일을 하나 선택해야한다. 업로드는 다 해두고, 스크립트에서 하나를 선택하면 된다.
                • 테마 선택 파일 : styles/shTheme*.css
                  • 테마를 하나 선택해야한다. 업로드는 다 해두고, 스크립트에서 하나를 선택하면 된다.





                3. 코드 하이라이트(Syntax Highlighter) 설정

                • head 태그 사이 title 위에 아래 태그를 넣는다.
                • 필자는 언어 JS파일을 다섯개 설정하였다. 모든 언어를 설정해둘 수도 있지만, 웹페이지 용량만 커지기 때문에 사용할 언어만 설정하는 것이 좋다.
                • 스타일과 테마는 Default로 설정하였다. 각자 스타일과 테마를 테스트해보며, 원하는 스타일을 찾으면 되겠다.
                1
                2
                3
                4
                5
                6
                7
                8
                9
                10
                11
                12
                13
                14
                15
                16
                17
                18
                19
                20
                21
                22
                23
                24
                <!-- [RUNPEACEYA] Syntax Highlighter Setting Start -->
                <!-- 필수 JS files -->
                <script type="text/javascript" src="./images/shCore.js"></script>
                  
                <!-- 사용할 언어 1개이상 추가 -->
                <script type="text/javascript" src="./images/shBrushJScript.js"></script>
                <script type="text/javascript" src="./images/shBrushCss.js"></script>
                <script type="text/javascript" src="./images/shBrushXml.js"></script>
                <script type="text/javascript" src="./images/shBrushJava.js"></script>
                <script type="text/javascript" src="./images/shBrushPhp.js"></script>
                 
                <!-- 사용할 스타일 택일 추가 -->
                <link href="./images/shCoreDefault.css" rel="stylesheet" type="text/css">
                 
                <!-- 사용할 테마 택일 추가 -->
                <link href="./images/shThemeDefault.css" rel="stylesheet" type="text/css">
                 
                <script type="text/javascript">
                //<![CDATA[
                    SyntaxHighlighter.config.bloggerMode = true;
                    SyntaxHighlighter.all();
                //]]>
                </script>
                <!-- [RUNPEACEYA] Syntax Highlighter Setting End -->


                • 크롬 브라우저를 위해 css 파일에 다음 구문을 추가한다. 필자는 글씨 크기를 조금 줄였다.
                1
                2
                3
                4
                div .syntaxhighlighter {
                    overflow-y: hidden!important; overflow-x: auto!important;
                    font-size:0.9em !important;
                }




                4. 코드 하이라이트(Syntax Highlighter) 사용하기

                • 코드 하이라이트를 사용하기 위해서는 편집 화면 오른쪽위에 HTML 편집으로 전환해야 한다. 그리고 pre 태그의 class 속성에 "brush:브러쉬명"을 입력하고, pre 태그 안쪽에 코드를 입력하면 된다.
                1
                2
                3
                4
                5
                <pre class="brush:브러쉬명">
                 
                   코드 기입~!
                 
                </pre>



                • 언어 JS파일과 브러쉬명은 아래와 같다.
                언어[브러쉬명]파일명
                ActionScript3as3, actionscript3shBrushAS3.js
                Bash/shellbash, shellshBrushBash.js
                ColdFusioncf, coldfusionshBrushColdFusion.js
                C#c-sharp, csharpshBrushCSharp.js
                C++cpp, cshBrushCpp.js
                CSScssshBrushCss.js
                Delphidelphi, pas, pascalshBrushDelphi.js
                Diffdiff, patchshBrushDiff.js
                Erlangerl, erlangshBrushErlang.js
                GroovygroovyshBrushGroovy.js
                JavaScriptjs, jscript, javascriptshBrushJScript.js
                JavajavashBrushJava.js
                JavaFXjfx, javafxshBrushJavaFX.js
                Perlperl, plshBrushPerl.js
                PHPphpshBrushPhp.js
                Plain Textplain, textshBrushPlain.js
                PowerShellps, powershellshBrushPowerShell.js
                Pythonpy, pythonshBrushPython.js
                Rubyrails, ror, rubyshBrushRuby.js
                ScalascalashBrushScala.js
                SQLsqlshBrushSql.js
                Visual Basicvb, vbnetshBrushVb.js
                XMLxml, xhtml, xslt, html, xhtmlshBrushXml.js
                (출처 : http://alexgorbatchev.com/SyntaxHighlighter/manual/brushes/)

                일정시간이 지나고나서 액티비티를 자동으로 넘겨주게 하자
                아래 예제코드 (ImageTab.java -> Temp2.java로 '3000' 후에 이동)
                 Handler mHandler = new Handler();
                        mHandler.postDelayed(new Runnable() {
                         // Do Something
                         public void run()
                         {
                                Intent intent = new Intent(ImageTab.this, Temp2.class);
                                startActivity(intent);
                                finish();         
                         }
                        }, 3000);


                '공부 > Android' 카테고리의 다른 글

                안드로이드 타이틀 없이 화면 채우기(화면 꽉 채우기)  (0) 2012.10.28
                Gridview 썸네일 이미지 클릭시 확대하기  (0) 2012.08.23
                그리드뷰 GridView Xml  (0) 2012.08.23
                타이머  (0) 2012.07.25
                Inflater 설명  (0) 2012.07.25
                관리자 페이지에서, 'HTML/CSS 편집' 클릭. <head> </head>사이에 아래 코드 삽입

                <link href="http://bobss.dothome.co.kr/bootstrap/css/bootstrap.css" rel="stylesheet">


                + Recent posts