레이블이 Linux인 게시물을 표시합니다. 모든 게시물 표시
레이블이 Linux인 게시물을 표시합니다. 모든 게시물 표시

Ubuntu Shell 변경

Ubuntu 환경에서 codesourcery tool chain을 설치하다보면 shell 변경 요구가 발생한다.

이 글에선 간단히 shell 변경하는 법을 다루고자 한다.

쉘 변경

 shell 변경을 위한 명령(command)을 입력한다.

 $ sudo dpkg-reconfigure -plow dash

쉘 선택


 명령을 입력하면 dash 쉘을 시스템 기본 쉘로 이용 할 것인지를 묻는 화면이 표시된다.
 bash shell을 사용하려면 'No' 를 선택한다.

쉘 확인

 쉘이 제대로 변경됐는지 확인하기 위한 명령을 입력한다.

 $ ls -al /bin/sh

bash 로 설정된 경우


dash 로 설정된 경우


쉘 복원

 설치 종료 후 쉘을 원래대로 복원하는 방법은 간단하다.
 쉘 변경 절차에서 입력한 명령을 입력하고 쉘 선택 화면에서 'Yes'를 선택하면 된다.


KeyPoint

 dash -> bash :  No
 bash -> dash :  Yes


SVN 서버 설치 및 웹 접속 설정-Ubuntu 14.04

[SVN 서버 구축하기 - Ubuntu 14.04]

SVN 서버 설치하고 웹 기반으로 접속할 수 있도록 apache 서버와 연동하는 방법을 함께 정리하고자 한다.


[참고 사이트]
1. SVN 설치 1
2. SVN 설치 2
3. SVN 설치 3
3. Apache 명령어 이해-블로그
4. Apache 명령어 이해-공식 사이트


[ SVN 서버 및 Apache 서버 설치 ]

1. 업데이트 수행

# sudo apt-get update


2. svn 서버와 아파치 서버 설치(SVN을 웹으로 접근하기 위해 필요)

# sudo apt-get install subversion apache2 libapache2-svn apache2-utils

[SVN 서버 설정]

1. 저장소 및 저장소를 위한 폴더 생성
아래에서 사용하는 testrepo는 테스트를 위해 설정한 이름으로, 실제 사용할 svn 저장소 이름이 있으면 해당 이름으로 변경해서 사용하면 된다.
*저장소 파일시스템은 일반 파일시스템 형식(fsfs)과 버클리 db(bdb: berkeley db) 형식으로 만들 수 있는데, 일반 파일시스템 형식이 추후 백업, 공유 등을 할때 문제 생길 요소가 적다고 한다. 정확한 이유는 모름.

$ sudo mkdir -p /svn/repos/
$ sudo svnadmin create --fs-type fsfs /svn/repos/testrepo


2. 계정 및 비밀번호 설정
testrepo 라는 이름으로 저장소를 생성하면 해당 폴더의 conf 폴더에 svnserve.conf 파일과 passwd 파일이 존재한다. passwd 파일을 이용해 계정과 비밀번호를 관리할 것이며, passwd 파일을 이용하기 위해 svnserve.conf 파일을 함께 수정해야 한다.

2.1 svnserve.conf 파일 수정
anon-access, auth-access, password-db 를 찾으면 모두 '#' 으로 시작함을 알 수 있다.
'#'는 주석처리를 의미하므로 '#'을 제거하여 옵션들을 활성화 시킨다.

$ cd /svn/repos/testrepo/conf/
$ sudo vim svnserve.conf

anon-access = read
auth-access = write
password-db = passwd


2.2 passwd 파일 수정
svn 접속 시 사용 할 id, pw를 'id = pw' 와 같은 형식으로 아래와 같이 추가해준다.

$ sudo vim passwd

[users]
test = 1234


3. SVN 서버 실행 및 확인
svn 서버를 아래 명령어로 실행한다.

$ svnserve -d -r /svn/repos/


정상적으로 실행이 됐는지 확인을 해보자. 명령어 입력 후 아래의 결과를 받으면 OK.

$ ps -ef | grep svnserve






4. OS 부팅 시 자동실행 등록
이대로 마치면 os 부팅시마다 svn 서버를 다시 실행시켜야 한다. 그런 번거로움을 없애기 위해 rc.local에 svn 서버 실행파일(svnserve)이 있는 경로(/usr/bin/)와 함께 추가한다.

$ sudo vim /etc/rc.local
# By default this script does nothing.
/usr/bin/svnserve -d -r /svn/repos/
exit 0


svn 설정은 이걸로 끝. 이제 아파치 서버 설치와 설정을 해보자.


[Apache 서버 설치 및 설정]


1. 저장소 소유권 변경

$ sudo chown -R www-data:www-data /svn/repos/testrepo


2. 설정 파일 생성 및 내용 추가
testrepo.conf 파일은 생성을 할 것이며, 저장소 이름과 반드시 동일해야 한다.

$ cd /etc/apache2/sites-available/
$ sudo vi testrepo.conf

<Location /svn>

  DAV svn

  SVNParentPath /svn/repos/

  AuthType Basic

  AuthName "Test Repo"

  AuthUserFile /svn/repos/svnpasswd

  Require valid-user

 </Location>


* AuthUserFile /svn/repos/svnpasswd : Step 5에서 생성할 유저정보를 담은 파일의 경로를 나타내며, 등록된 사용자만 읽기 허용하기 위함이다.


3. 웹 서버 활성화( 아래의 testrepo는 앞에서 테스트를 위해 설정한 이름으로, 동일해야 함)

$ sudo a2ensite testrepo


4. 아파치 서버 reload

$ sudo service apache2 reload


5. 유저 생성
첫번째 유저과 그 이후의 유저 생성은 옵션이 다르니 유의해야 함.

첫번째 유저 생성 시 -c 옵션을 입력
$ sudo htpasswd -c /svn/repos/svnpasswd user1

그 이후 유저 생성 시 -m 옵션을 입력
$ sudo htpasswd -m /svn/repos/svnpasswd user2


6. SVN 확인!!
웹 브라우져를 이용하여 아래의 경로로 접속하여 testrepo 저장소가 정상적으로 생성됐는지 확인.

URL : http://yourip/svn/testrepo (Eg http://10.0.1.15/svn/testrepo)


ID, PW를 입력하는 창이 뜨면 앞에서 설정한 정보(ID, PW)를 입력한다.

이렇게 SVN 서버 구축이 마무리 되었다.

이제 SVN client를 이용해서 버전관리를 해주면 끝~


간단히 SVN 서버 설치 및 구축하기 - Ubuntu 14.04

[SVN 서버 구축하기 - Ubuntu 14.04]

*아래 절차는 혼자서 버전관리를 위해 SVN을 구축하고 싶지만 trunk, branch 등의 개념을 아직 잘 모르고 간단하게 사용하고 싶을 경우에 해보는 것을 추천합니다. 조금 더 자세히 SVN에 대해 알고 구축하고 싶다면 JoinC의 SVN Tutorial을 참고하길 추천합니다.

[JoinC SVN Tutorial 바로가기]


소스코드 또는 문서의 버전관리를 위해 많이 사용하는 SVN(Subversion) 서버를
Ubuntu 14.04 환경에서 구축하는 간단한 방법을 설명하고자 한다.

*구축 절차는 원문 링크의 내용을 기반으로 번역 및 일부 개정한 것이다.
[원문 링크]

Step 1. 업데이트 수행

# sudo apt-get update


Step 2. 아파치 서버와 svn 서버 설치(SVN을 웹으로 접근하기 위해 필요)

# sudo apt-get install subversion apache2 libapache2-svn apache2-utils


Step 3. 저장소 및 저장소를 위한 폴더 생성
아래에서 사용하는 testrepo는 테스트를 위해 설정한 이름으로, 실제 사용할 이름이 있으면 변경 필요함.

# sudo mkdir -p /svn/repos/
# sudo svnadmin create /svn/repos/testrepo


Step 4. 저장소 소유권 변경

# sudo chown -R www-data:www-data /svn/repos/testrepo


Step 5. 설정 파일 생성 및 내용 추가

# cd /etc/apache2/sites-available/
# sudo vim testrepo.conf

<Location /svn>

  DAV svn

  SVNParentPath /svn/repos/

  AuthType Basic

  AuthName "Test Repo"

  AuthUserFile /etc/svnpasswd

  Require valid-user

 </Location>


* AuthUserFile /etc/svnpasswd : Step 8에서 생성할 유저정보를 담은 파일


Step 6. 웹 서버 활성화( 아래의 testrepo는 앞에서 테스트를 위해 설정한 이름으로, 동일해야 함)

# sudo a2ensite testrepo


Step 7. 아파치 서버 reload

# sudo service apache2 reload


Step 8. 유저 생성
첫번째 유저과 그 이후의 유저 생성은 옵션이 다르니 유의해야 함.

첫번째 유저 생성 시 -cm 옵션을 입력
# sudo htpasswd -cm /etc/svnpasswd user1

그 이후 유저 생성 시 -m 옵션을 입력
# sudo htpasswd -m /etc/svnpasswd user2


Step 9. SVN 확인!!
웹 브라우져를 이용하여 아래의 경로로 접속하여 testrepo 저장소가 정상적으로 생성됐는지 확인.

URL : http://yourip/svn/testrepo (Eg http://10.0.1.15/svn/testrepo)


이렇게 SVN 서버 구축이 마무리 되었다.

이제 SVN client를 이용해서 버전관리를 해주면 끝~


Linux Text mode로 부팅하기-Ubuntu 14.04

리눅스를 서버로 운용하기 위해서 필요없는 GUI를 띄우지 않고 바로 Console 형태인 TUI(Text Mode)로 부팅하는 방법을 적는다.

*구축 절차는 원문 링크의 내용을 기반으로 번역 및 일부 개정한 것이다.
[원문 링크]

Step 1. 백업 만들기
다시 Text mode에서 GUI 모드로 부팅하고 싶을 경우를 위해서 백업을 만드는게 좋다.

# sudo cp -n /etc/default/grub /etc/default/grub_origin


Step 2. grub 파일 내용 변경

# sudo vim /etc/default/grub

본문의 GRUB_CMDLINE_LINUX_DEFAULT=”quiet splash” 부분을 찾아서, 문장의 시작부분에 '#'를 추가하여 주석처리 한다. purple screent을 비활성화(which will disable the Ubuntu purple screen)하기 위함이다.

본문의 GRUB_CMDLINE_LINUX=”" 을 GRUB_CMDLINE_LINUX=”text” 으로 변경한다. 우분투를 Text mode로 부팅하도록 하기 위함이다.

본문의 #GRUB_TERMINAL=console 부분을 찾아서, 문장의 시작부분에 있는 '#' 을 제거한다. Grub Menu를 블랙&화이트 텍스트 모드로 변경하기 위함이다.( this makes Grub Menu into real black&white Text Mode (without background image) )


Step 3. 변경내용 업데이트
앞에서 변경한 grub 의 내용을 시스템에 반영하기 위해 update 를 진행한다.

# sudo update-grub


Step 4. 시스템 재부팅
변경 내용대로 Text Mode로 부팅 되는지 시스템 재부팅을 통해 확인~

# sudo reboot now



이것으로 Text mode 부팅하기 끝~~



*백업을 만들어 두면 GUI 모드로 복구하고 싶을때는 아래와 같이 간단히 복구 가능하다.

# sudo mv /etc/default/grub_origin /etc/default/grub
# sudo update-grub

VirtualBox(VM)에서 공유폴더(윈도우7, 리눅스) 설정

윈도우 호스트에서 리눅스를 가상OS로 돌리다보면 파일 공유가 필요한 시점이 생긴다.

아래에서는 호스트OS와 가상OS 간 파일 공유가 쉽도록 공유폴더 설정하는 법을 적어본다!


1. 폴더 생성
윈도우에 폴더를 생성하고 리눅스에서 설정을 마친 후 공유폴더가 제대로 동작하는지 확인 하기 위해 아무 파일이나 복사(또는 텍스트 파일 생성) 해놓는다.
 (여기서는 C:로 한다. D:, E: 아무 곳이나 상관없이 가능하다.)
C:winShare

2. 버추얼박스 설정
2.1. 공유 폴더 메뉴 선택
버추얼박스 메뉴 중 [장치]-[공유 폴더 설정]-[공유 폴더] 선택 후 우측의 십자가 모양 선택
 (OS가 실행되고 있는 버추얼박스가 아닌 가상 OS를 실행시키는 관리자 윈도우)

2.2. 공유 폴더 선택
'폴더 경로' 에서 '기타'를 선택 후 아까 만든 'C:winShare' 폴더를 선택하고, '자동 마운트', '항상 사용하기' 선택 후 '확인' 누름. 다시 한 번 '확인'을 눌러 창 닫음.


3. 리눅스 설정
리눅스 터미널을 실행하고 아래의 명령어를 입력한다.
$ sudo mkdir /mnt/share
$ sudo mount -t vboxsf winShare /mnt/share
$ ls /mnt/share

'1. 폴더 생성'에서 복사해 놓은 파일이 보이는지 확인하고, 보이면 성공!


4. 링크 연결
But! /mnt/share 폴더에서 작업을 하기는 불편하니 링크를 걸어 편하게 사용하자~
(pwd 명령으로 링크를 만들 곳의 경로를 확인하고 생성한다.)
$ pwd
/home/deoks
$ sudo ln -s /mnt/share /home/deoks/share
$ ls share

이번에도 파일이 제대로 보이면 성공! 편하게 쓰면 된다.


5. 번외
*단점은 리눅스가 재부팅 되면 마운트가 해제되기 때문에 다시 해줘야 한다는 것.
가상 OS(리눅스)를 재부팅하면 마운트가 해제되서 다시 연결해야 하는 불편함이 있다. 아래와 같이 쉘스크립트를 만들어서 재부팅하고나면 실행하도록 한다.

$ vim mkShareFolder.sh
   #! /bin/bash
   sudo mount -t vboxsf winShare /mnt/share
   sudo ln -s /mnt/share /home/deoks/share
$ chmod 755 mkShareFolder.sh
$ ./mkShareFolder.sh

진짜 끝!

APM 설치 가이드

APM( Apache, PHP, Mysql) 설치 가이드

아래는 내 블로그에 올려놓은 글들인데 묶음으로 올려놓으면 찾기 편할것 같아서. 


1. Apache
Apache 2.2 설치 on Ubuntu-10.10, 12.04 ]

2. PHP
PHP 5 설치 on Ubuntu-10.10, 12.04 ]

3. MySql
MySql 설치 on Ubuntu 10.10, 12.04 ]


덤으로,

4. mediawiki 설치파일
참조 : www.mediawiki.org/wiki/Download ]

CentOS 5.8 방화벽 관리

CentOS는 port별 방화벽이 (OS 설치 시 off로 해놓지 않았다면)기본으로 설정되어 있기 때문에

network 통신을 위한 port를 사용하기 위해서는 방화벽을 꺼야 한다.

포트별 방화벽을 끄는 방법은 2가지다.

1. 일괄적으로 방화벽 OFF
2. 선택한 포트에 대해서만 방화벽 OFF

아래에 두 가지 방식을 적는다.



1. 일괄적으로 방화벽 OFF

* 방화벽 일괄 끄기/켜기
$ service iptables stop     // 끄기
$ service iptables start     // 켜기



2. 선택한 포트에 대해서만 방화벽 OFF

*아래는 sip protocol 처리를 위한 5060, 5061 포트 해제

* 포트별 방화벽 해제
$ vi /etc/sysconfig/iptables

*아래에서 3, 4번째 줄 bold 처리한 부분처럼 protocol과 port 번호 맞춰서 끼워넣으면 됨.

# Firewall configuration written by system-config-securitylevel
# Manual customization of this file is not recommended.
*filter
:INPUT ACCEPT [0:0]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [0:0]
:RH-Firewall-1-INPUT - [0:0]
-A INPUT -j RH-Firewall-1-INPUT
-A FORWARD -j RH-Firewall-1-INPUT
-A RH-Firewall-1-INPUT -i lo -j ACCEPT
-A RH-Firewall-1-INPUT -p icmp --icmp-type any -j ACCEPT
-A RH-Firewall-1-INPUT -p 50 -j ACCEPT
-A RH-Firewall-1-INPUT -p 51 -j ACCEPT
-A RH-Firewall-1-INPUT -p udp --dport 5353 -d 224.0.0.251 -j ACCEPT
-A RH-Firewall-1-INPUT -p udp -m udp --dport 631 -j ACCEPT
-A RH-Firewall-1-INPUT -p tcp -m tcp --dport 631 -j ACCEPT
-A RH-Firewall-1-INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 21 -j ACCEPT
-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 22 -j ACCEPT
-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 23 -j ACCEPT
-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 80 -j ACCEPT
-A RH-Firewall-1-INPUT -m state --state NEW -m udp -p udp --dport 137 -j ACCEPT
-A RH-Firewall-1-INPUT -m state --state NEW -m udp -p udp --dport 138 -j ACCEPT
-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 139 -j ACCEPT
-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 445 -j ACCEPT
-A RH-Firewall-1-INPUT -m state --state NEW -m udp -p udp --dport 5060 -j ACCEPT
-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 5061 -j ACCEPT
-A RH-Firewall-1-INPUT -j REJECT --reject-with icmp-host-prohibited
COMMIT

wq!

$ service iptables restart     // 방화벽 재시작

[link only] Installing Freepbx 2.8 with Asterisk 1.8 on Cent 5.8

Freepbx 2.8
[Src : http://www.markinthedark.nl/news/ubuntu-linux-unix/69-installing-freepbx-28-with-asterisk-18-on-centos-55.html]

TLS
[Src : http://www.freepbx.org/forum/freepbx/general-help/securing-the-conversation-with-tls-and-srtp-not-so-fast]
[Src : https://wiki.asterisk.org/wiki/display/AST/Secure+Calling+Tutorial]

Install Asterisk-1.8 on CentOS 5.8

[UPDATE] 2013.07.24 

1. root password 설정(안되어 있는 경우)

[Src : http://mashow.egloos.com/3572782]


2. Prepare

[Src : http://www.selbytech.com/2011/05/how-to-setup-asterisk-1-8-on-centos-5/]

(보안 적용 해제를 위해서는 root 권한으로 실행해야 한다.)

$ yum -y update
$ vi /etc/selinux/config

SELINUX=disabled    => 보안적용을 해제 시키는 명령

$ shutdown -r now


3. Download and Install components

$ yum install wget gcc gcc-c++ make perl libxml2-devel ncurses-devel newt-devel openssl-devel kernel-devel


$ mkdir /usr/src/asterisk
$ cd /usr/src/asterisk

$ wget http://downloads.asterisk.org/pub/telephony/asterisk/asterisk-1.8-current.tar.gz
$ wget http://downloads.asterisk.org/pub/telephony/dahdi-linux-complete/dahdi-linux-complete-current.tar.gz
$ wget http://downloads.asterisk.org/pub/telephony/libpri/libpri-1.4-current.tar.gz

$ tar zxvf libpri-1.4-current.tar.gz
$ tar zxvf dahdi-linux-complete-current.tar.gz
$ tar zxvf asterisk-1.8-current.tar.gz


$ cd /usr/src/asterisk/libpri-1.4.13     -> 버전은 바뀔 수 있으므로 확인 후 맞춰 수행
$ make
$ make install


$ cd /usr/src/asterisk/dahdi-linux-complete-2.4.1.2+2.4.1  -> 버전은 바뀔 수 있음.
$ make all
$ make install
$ make config


$ cd /usr/src/asterisk/libpri-1.4.13     -> 버전은 바뀔 수 있으므로 확인 후 맞춰 수행
$ make
$ make install


4. Install Asterisk

$ cd /usr/src/asterisk/asterisk-1.8.17.0
$ ./configure
$ make menuselect => 내용은 설정할 필요 없음. Exit!
$ make
$ make install
$ make samples
$ make config
$ chkconfig asterisk on => 무반응...

* make progdocs(asterisk program documentation)와 add-on 설치는 optional 이라서 필요에 따라 설치를 하면 됩니다. 여기서는 그냥 기본적인것들만...



5. Set Asterisk

$ vi /etc/asterisk/asterisk.conf
[directories](!)   => delete!

$ shutdown -r now


6. Set users

$ vi /etc/asterisk/users.conf

*아래 예시을 맨 아래 빈 공간에 추가

[1000]
username=1000
host=dynamic
type=friend
secret=1234
context=users
callerid=1000



7. Run Asterisk

$ asterisk -r

위의 명령어를 입력하면 아래와 같은 콘솔모드로 들어간다.

asterisk*CLI>



*명령어를 모를 경우 '?'를 누르면 입력 가능한 명령어가 보인다

asterisk*CLI> ?



*가입자 정보 추가 후  asterisk cli에서 아래와 같이 user 정보 reload가 필요함

asterisk*CLI> sip reload



*유저 정보 확인

asterisk*CLI> sip show users



*유저 등록상태 확인

asterisk*CLI> sip show peers



8. Register UAC

단말 uac 셋팅 후 등록 수행.
등록이 원활히 진행되면 OK
그렇지 않다면 방화벽 체크(아래 링크) 필요!

[Cent Os 방화벽 관리]

방화벽 포트별 해제 또는 전체 해제 후

uac 다시 등록 시도 및 확인!



SSH 설치 on Ubuntu-12.04

Just type!

$ sudo apt-get install openssh-server

Done!

Connect!
$ ssh USERID@IP

gcc-3.4 설치 on Ubuntu 12.04(default gcc-4.6) , installing gcc-3.4 on ubuntu 12.04



Ubuntu-12.04 에서 compiler는 gcc-4.6이 default 이다.
qemu 설치 및 compile 하기 위해선 gcc-3.4이 필요하다.
좀 찾아보니 4.6 삭제 후 설치가 아닌 3.4 추가 설치 및 필요에 따라 선택적으로 사용하는 방법이 주류이기에 그 방법을 정리한다.

1. Download packages


아래 링크로 들어가면 우측에  'Downloadable files' 가 있고, 
그 아래 줄에 xxxx.deb 다운로드 링크가 존재한다. 
그걸 다운받으면 된다.
아래 링크는 김상혁님이 댓글달아준 링크로 업데이트 했다.
감사합니다.! :)


gcc-3.4-base(3.4.6)
http://packages.ubuntu.com/hardy-updates/gcc-3.4-base
https://launchpad.net/ubuntu/hardy/i386/gcc-3.4-base/3.4.6-6ubuntu5

cpp-3.4(3.4.6)
http://packages.ubuntu.com/hardy-updates/cpp-3.4
https://launchpad.net/ubuntu/hardy/i386/cpp-3.4/3.4.6-6ubuntu5

gcc-3.4(3.4.6)
http://packages.ubuntu.com/hardy-updates/gcc-3.4
https://launchpad.net/ubuntu/hardy/i386/gcc-3.4/3.4.6-6ubuntu5

libstdc++6-dev(3.4.6)
http://packages.ubuntu.com/hardy-updates/libstdc++6-dev
https://launchpad.net/ubuntu/hardy/i386/libstdc++6-dev/3.4.6-6ubuntu5

g++-3.4(3.4.6)
http://packages.ubuntu.com/hardy-updates/devel/g++-3.4
https://launchpad.net/ubuntu/hardy/i386/g++-3.4/3.4.6-6ubuntu5


2. Install packages

위에 3개(gcc-3.4-base, cpp-3.4, gcc-3.4) 패키지는 아래 방식으로 설치

 $ sudo dpkg -i 패키지명.deb                      


아래 2개(libstdc++6, g++-3.4) 패키지는 아래방식으로 설치(의존성 문제 배제)

 $ sudo dpkg --force-depends -i 패키지명.deb




3. Install Alternatives

[Ref] http://askubuntu.com/questions/26498/choose-gcc-and-g-version

다음으로 두 가지 gcc 버전을 선택 할 수 있도록 alternatives를 설치한다.

3.1  alternative 삭제! (처음 설치라면 삭제할게 없을것이다.)

$ sudo update-alternatives --remove-all gcc 
$ sudo update-alternatives --remove-all g++


3.2 alternative 설정!

$ sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-3.3 10
$ sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-4.6 20

$ sudo update-alternatives --install /usr/bin/g++ g++ /usr/bin/g++-3.3 10
$ sudo update-alternatives --install /usr/bin/g++ g++ /usr/bin/g++-4.6 20

$ sudo update-alternatives --install /usr/bin/cc cc /usr/bin/gcc 30
$ sudo update-alternatives --set cc /usr/bin/gcc

$ sudo update-alternatives --install /usr/bin/c++ c++ /usr/bin/g++ 30
$ sudo update-alternatives --set c++ /usr/bin/g++


4. Configure Alternatives

이제 설정해야하는데 아래 명령을 실행해보면 알 수 있다. 어떻게 설정하는지..

$ sudo update-alternatives --config gcc
$ sudo update-alternatives --config g++


5. GCC 버전 확인

gcc-3.4가 제대로 설치되었음을 확인한다. 아니면 처음부터~

$ gcc -v 



6. GCC 설정 및 link 추가

test.c 를 만들고 gcc를 하면 무한한 에러를 볼 수 있다. 그 에러들을 없애기 위해 아래와 같이 설정한다.(정확한 뜻은 나도 모름 ㅠ)

[Ref]http://old.nabble.com/installing-an-older-version-of-g%2B%2B-on-ubuntu-12.04-to33971892.html#a33972446
(나에 앞서 이런 삽질을 한 것에 감사하며 이어나가겠음.)


$ export LIBRARY_PATH=/usr/lib/i386-linux-gnu 
$ export C_INCLUDE_PATH=/usr/include/i386-linux-gnu 
$ export CPLUS_INCLUDE_PATH=/usr/include/i386-linux-gnu 

$ ln -s /lib/i386-linux-gnu/libgcc_s.so.1 /lib/libgcc_s.so


7.  GCC

test.c 를 만들어 컴파일 수행!


8. 끝! or backTo Step.1

잘 되면 끝! 안되면 처음부터~
참고로 이거 때문에 하루는 버린거 같다...

Installing Chrome on Ubuntu-12.04

구글 크롬 설치

Step 1. 기본 브라우져(파폭)을 켜서 chrome을 다운받는다.

Step 2. Download 폴더로 이동
$ cd Downloads

Step 3. .deb 패키지를 설치한다. 아래의 PACKAGE_NAME_OF_GOOGLE_CHROME 은 다운받은 패키지 이름이다.
$ sudo dpkg -i PACKAGE_NAME_OF_GOOGLE_CHROME.deb

근데 설치를 하다보면 아래와 같은 에러를 만나기도 한다.

'Errors were encountered while processing'

이유는 나도 잘 모르겠다...
단지 해결법을 알 뿐.
구글링을 통해 알게 된 해법들;



에러 해결
[ 참고(Ref) : 'Errors were encountered while processing' 해결 ]

Step 1. try to fix broken packages ( 깨진 패키지를 고친다 )
$ sudo apt-get install -f

Step 2. update my package list ( 패키지 리스트를 최신화 한다. )
$ sudo apt-get update

Step 3. 위의 구글 크롬 설치 Step 3 을 다시 수행한다.
$ sudo dpkg -i PACKAGE_NAME_OF_GOOGLE_CHROME.deb

Step 4. 사용하기~! :)

* Ubuntu-12.04 GUI가 많이 바껴서 위 그림과 같이 Dash bar에서 'chrome' 으로 검색해서 실행하면 된다.

MySql 설치 on Ubuntu 10.10, 12.04

개인적으로 APM(Apache서버, PHP, MySql) 중 가장 삽질을 많이 했지만, 삽질 한 두 번하고 나니 가장 설치하기 쉬운게 MySql 같다.
root password 설정안되어있어서 삽질한거 생각하면,,,, 자세한건 아래에서.. -_-

참고로 내 블로그에 있는 APM 설치 내용은 미디어위키 설치를 위해 최적화한 내용이니(최적화라기보다는 설치에 필요한 내용만 다룸) 이외의 어려움이 발생하거나 필요가 발생하면 웹서핑을 해주세요~ :)


MySql 설치

$ sudo apt-get install mysql-server

위의 명령어를 치고 놀다보면 아래와 같이 창이 하나 뜬다. root pw를 묻는 창이니 긴장하지말고 비번을 입력하면 된다.




설치완료! 후 이제 mysql 접속! 을 하려고 mysql을 치면 아래와 같이 거부를 당한다 -_-;








벗, mysql -u root -p 를 누르면 아래와 같이 password를 묻고 입장시켜준다~
입장을 하면 아래와 같이 화면이 바뀌고 버전도 확인 할 수 있다. :)




*근데 이유는 잘 모르겠지만 그래도 거부당할때가 있다. 내가 그랬다.
그럴땐 재부팅을 해봐라... 나는 한참동안 이것저것 다 시도를 해봤지만 성공하지 못했고,,
재부팅을 하고나니 됐다 -_-;;;

버전을 확인하는 다른 방법은 아래와 같이 하면 된다.

$ mysql --version



나는 어려움없이 들어왔지만 mysql 이 거부하는 경우가 있다. 그럴땐 아래와 같은 방법으로 입장하고  루트 암호를 설정하면 된다.

PHP 5 설치 on Ubuntu-10.10, 12.04

Ubuntu-10.10, 12.04 에서 PHP 설치 방법

[참조 사이트]
https://help.ubuntu.com/10.04/serverguide/php5.html



1. [Easy] apt-get 명령 이용
2. [Medium] 파일 다운 및 직접 설치

웹서핑을 하다보면 여기서는 이렇게 하라, 저기서는 저렇게 하라는 식으로 다 틀려서 헷갈렸던적이 많기 때문에 두가지 방식 모두 기록해놔야겠다 ㅋ



1. [Easy] apt-get 명령을 이용해 설치하는 방법(쉽고 편함)

$ sudo apt-get install php5

$ sudo apt-get install php5-mysql (mysql 과의 연동을 위해서 설치)

단 두 줄로 설치 완료!

설치를 마쳤으니 버전 확인이 필요하다. 아래와 같이 확인하면 된다.

$ /usr/bin/php -v









이제 이전에 설치한 apache 서버와 연동이 제대로 되는지 확인이 필요하다.

test.php 라는 파일을 만들고 아래와 같이 php 정보를 보여주는 임시 파일을 만든다.

$ vi test.php

<?
phpinfo();
?>

파일까지 다 만들었으면 아래 명령으로 apache 서버가 웹페이를 로딩하는 로컬에 파일을 복사한다.(로컬이란 용어가 맞는건지 모르겠다...)

$ sudo cp ./test.php /var/www/html   ( test.php 앞의 ./은 현재 폴더를 의미)


이제 웹브라우져를 다시 켜고 주소창에 아래와 같이 입력한다

http://localhost/test.php 혹은 http://(아파치 서버에 설정한)IP/test.php 혹은
http://localhost/index.html 혹은 http://(아파치 서버에 설정한)IP/index.html

아래와 같은 php 정보를 보여주는 페이지를 보여준다면 apache 서버와  php가 제대로 연동되서 돌아가는 것이다.






2. [Medium] 웹으로부터 다운받아 직접 설치하는 방법(시간과 노력이 필요)

나중에 이어서....

Apache 2.2 설치 on Ubuntu-10.10, 12.04


[참조 사이트]
https://help.ubuntu.com/10.04/serverguide/httpd.html

이것저것 삽질하다보니 아파치를 설치하는 방법이 2가지라는 것을 알았다.

1. [Easy] apt-get 명령어 사용
2. [Medium] 홈페이지로부터 직접 다운받아 설치


여기서는 쉽고 간단한 '1. [Easy] apt-get 명령어 사용' 방식으로 설치 할 예정이다.