'centos'에 해당되는 글 7건

  1. 2015.08.07 CentOS에 Java & MySQL 설치 및 기본 셋팅
  2. 2015.04.09 CentOS 6, 7 Minimal 에 Desktop(GUI 환경) 설치
  3. 2015.04.09 Openstack - icehouse (All-in-one) Install in Cent OS 6.6 minimal
  4. 2015.04.07 Cent OS 6.6 에서 nmail 로 메일서버 구축하기
  5. 2015.04.06 [35] 종합 중간점검, Apache_Alias
  6. 2015.04.06 [34] Apache
  7. 2015.03.28 [16] rpm(1)

CentOS에 Java & MySQL 설치 및 기본 셋팅

|


Java


# wget --no-cookies --no-check-certificate --header "Cookie: gpw_e24=http%3A%2F%2Fwww.oracle.com%2F; oraclelicense=accept-securebackup-cookie" "http://download.oracle.com/otn-pub/java/jdk/8u51-b16/jdk-8u51-linux-x64.tar.gz"

# tar xf jdk-8u51-linux-x64.tar.gz -C /usr/local/

# chown -R root. /usr/local/jdk1.8.0_51/


// 맨 아래 추가

# vi ~/.bash_profile

export JAVA_HOME=/usr/local/jdk1.8.0_51

export PATH=$PATH:$JAVA_HOME/bin


# source ~/.bash_profile




Mysql


# yum install -y mysql-server MySQL-python


// 파일 수정 및 추가

# vi /etc/my.cnf

controller # vi /etc/my.cnf

bind-address=192.168.56.0

default-storage-engine=innodb

innodb_file_per_table

collation-server=utf8_general_ci

init-connect='SET NAMES utf8'

character-set-server=utf8


# service mysqld start

# chkconfig mysqld on

# mysql_install_db

# mysql_secure_installation



// 유저 생성

# mysql -u root -p

mysql> grant all privileges on DBNAME.* to 'USERNAME'@'localhost' identified by 'PASSWORD' with grant option;

mysql> flush privileges;


// 비밀번호 찾기

# service mysqld stop

# mysqld_safe --skip-grant-tables &

# mysql

mysql> use mysql;

mysql> select host, user, password from user;

mysql> update user set password=password('NEW_PASSWOD') where user='USERNAME';

mysql> Bye

# /etc/rc.d/init.d/mysqld restart




'Linux > CentOS' 카테고리의 다른 글

Linux에서 Windows 공유폴더 사용(samba)  (1) 2015.10.05
yum으로 rpm만 다운로드 하기  (0) 2015.06.10
CentOS에 ntfs usb 마운트  (0) 2015.06.05
Linux GPT 파티션  (0) 2015.06.04
Docker in CentOS 7 minimal  (0) 2015.04.09
And


CentOS 6, 7 Minimal 에 Desktop(GUI 환경) 설치

|


출처 : https://www.centos.org/forums/viewtopic.php?f=47&t=47088

          http://blog.nowherelan.com/2013/12/24/install-a-desktop-environment-on-centos-minimal-install/



나의 경우는 CentOS 7 Minimal virsion 이다.

(아래에 CentOS 6 방법도 적었다.)


Minimal server 를 운영 중, GUI 환경의 같은 네트워크 상에 있는 브라우저에서 GUI 셋팅을 진행할 수도 있지만

가끔은 server 자체에서 GUI 환경으로 설정을 진행해야 할 때가 있다.




1. 패키지 설치


# yum groupinstall "X Window System"

# yum install gnome-classic-session gnome-terminal nautilus-open-terminal control-center liberation-mono-fonts



평소에는 CUI 환경으로 사용하다가 필요 시 그래픽환경으로 접속하려면 CUI 환경에서 아래 명령어를 치면 GUI 로 접속된다.

# init 5


이런 경우 GUI 로의 부팅 설정은 따로 필요 없다.





2. GUI 로의 부팅 설정


CentOS 7 부터는 init 을 이용한 부팅이 아니다. 따라서 부팅 설정 방법도 바뀌었다. 아래 파일을 열어보면 방법이 나와있다.

# vi /etc/inittab


아래 디렉터리 안에 있는, 내가 원하는 부팅 방법을 심볼릭 링크로 만들어주면 된다.

# ll /lib/systemd/system/ 


# ln -sf /lib/systemd/system/graphical.target /etc/systemd/system/default.target

(# ln -sf /lib/systemd/system/<target name>.target /etc/systemd/system/default.target   형식)





3. 재부팅


# reboot






[Tip] In Cent OS 6



1) 패키지 설치

# yum groupinstall -y "Desktop" "Desktop Platform" "X Window System" "Fonts"



2) GUI 실행

$ startx

or

$ /sbin/telinit 5



3) GUI 로의 부팅 설정

# vi /etc/inittab

     id:3:initdefault:    =>    id:5:initdefault:




And


Openstack - icehouse (All-in-one) Install in Cent OS 6.6 minimal

|



openstack icehouse 버전 설치를 쉽게 할 수 있다고 한다.




0. 사전 설치


[Cent OS 6.6 minimal 설치]



[update & ntp 설치]


서버 시간 동기화를 위해 ntp 설치 및 Cent OS update

# yum install -y ntp

# yum update -y

# service ntpd start

# chkconfig ntpd on



[System 설정]


Selinux 및 방화벽 끄기 - 앞 단의 방화벽에서 처리할 것이므로..

# service iptables stop

# chkconfig iptables off

# vi /etc/sysconfig/selinux

disabled


기타 모든 설정이 제대로 작동하기 위해 (Selinux 는 꼭 재부팅이 필요하다.) 시스템 재부팅

# reboot


[Network 설정]


꼭 필요한 것만 적었다.


# vi /etc/sysconfig/network-scripts/ifcfg-eth0

DEVICE=eth0

ONBOOT=yes

BOOTPROTO=none

NETMASK=255.255.255.0

IPADDR=10.10.15.11

GATEWAY=10.10.15.1




1. 설치


[계정 설정]


stack 이라는 user가 필요하다.

# useradd stack

# passwd stack


stack 계정에게 sudo 명령어를 패스워드 없이 사용할 수 있게 해줘야한다.

그러기 위해 /etc/sudoers 에 쓰기 권한을 주고 수정 후 다시 쓰기 권한을 회수

# chmod u+w /etc/sudoers

# echo "stack ALL=(ALL) ALL" >> /etc/sudoers

# chmod u-w /etc/sudoers


[설치]


stack 계정으로 진행하여 openstack 설치에 필요한 패키지 설치

# su stack

$ sudo yum install -y http://repos.fedorapeople.org/repos/openstack/openstack-icehouse/rdo-release-icehouse-3.noarch.rpm

$ sudo yum install openstack-packstack


자동으로 openstack 설치에 필요한 옵션 스크립트 작성

(현재 위치하는 디렉터리에 옵션 스크립트가 작성되니 고급 설치를 하고자 하면 해당 파일 수정)

$ packstack --gen-answer-file my_answers.txt


All-in-one 설치~를 하기 전에 내가 경험한, 문제가 됬던 패키지를 미리 설치하고 진행하자.

$ sudo yum install -y mariadb-galera-server-5.5.40-1.el6.x86_64 puppet openssh-clients tar nc rubygem-json openstack-cinder

$ packstack --allinone




'Linux > Openstack' 카테고리의 다른 글

Devstack Install in CentOS 7 minimal  (0) 2015.04.09
Openstack 관련 Site memo  (0) 2015.04.09
Openstack 설치 in Ubuntu 14.04 LTS server with MAAS  (0) 2015.04.09
And


Cent OS 6.6 에서 nmail 로 메일서버 구축하기

|


이 글에선 무료 메일 솔루션인 nmail을 통해 Cent OS를 메일서버로 활용 해보고자 한다.

nmail은 개인 및 비영리 단체에 대하여 무료로 사용할 수 있으며 영리목적으로는 30일의 테스트 용도 외엔 사용이 금지되어있다.


이 글에서는 Cent OS 6.6 minimal 버전 및 nmail-php-2.6.11_utf8 으로 진행하였다.





1. Cent OS 6.6 minimal 버전으로 설치.


각자 Real Machine 이나 Virtual Machine 에 Cent OS 6.6 을 minimal 버전으로 설치한다.

나의 경우는 Windows Server 2012 에 Hyper-V 라는 Virtual Machine 을 이용하여 설치하였다.

설치 시 사용할 언어는 English 로 설정해도 상관 없으나 키보드는 Korean 을 선택할 것을 추천한다.





2. Cent OS Nework 설정


[Tip]


vi 는 문서 편집 위한 프로그램이며, 실행 시 :se nu 를 하면 줄 번호가 생긴다.

i 를 입력하면 insert 모드, 즉 쓰기 모드가 시작되고 저장 후 종료를 원할 때엔 esc를 누른 뒤 :wq를 하면 된다.



필요 없는 내용은 지우고 메일서버에서 사용할 고정ip 등의 기본 네트워크 설정을 한다.

나의 경우는 개인적인 DNS 서버로 사용중인 DNS 서버가 있어 DNS1에 넣었다.

NETMASK 는 안적어도 ip에 따라 알아서 잡는다. 특별한 NETMASK를 사용 시 NETMASK=255.255.255.192 등과 같이 넣으면 된다.


# vi /etc/sysconfig/network-scripts/ifcfg-eth0

      1 DEVICE=eth0

      2 HWADDR=00:15:5D:64:E6:0E

      3 TYPE=Ethernet

      4 UUID=f66662d1-779f-49f7-a3d9-c3cf3daa69d0

      5 ONBOOT=yes

      6 BOOTPROTO=static

      7 IPADDR=192.168.1.10

      8 GATEWAY=192.168.1.254

      9 DNS1=192.168.1.20

     10 DNS2=168.126.63.1

     11 DOMAIN=mail.yourdomain.com


지정한 네트워크 정보 설정을 위해 네트워크 재시작

# service network restart


이 후 작업은 putty 등의 ssh 프로그램으로 원격 접속하여 사용할 것을 추천한다.

주의할 것은 설정에서 문자열  형식이 UTF-8 로 되어있지 않으면 UTF-8로 바꿔야 한다.

(그렇지 않으면 한글이 깨져 나올 수 있다.)

특히 putty를 사용하면 좋은 점은 웹 페이지에서 명령어를 복사한 뒤 putty에서 오른클릭 하면 붙여넣기가 된다는 것이다.

또한 putty 상에서 드래그를 하여 영역 선택하면 그 부분은 자동적으로 클립보드에 복사된다.





3. 필요 패키지 설치


필요 패키지 설치를 위해 yum 진행한다. 조금 시간이 걸린다.

# yum install -y httpd* php* mysql* ntp zip unzip wget


httpd* : Apache 관련 패키지

php* : php 관련 패키지

mysql* : mysql 관련 패키지

ntp : 서버 시간 동기화 패키지

zip, unzip : nmail 설치 시 필요한 패키지

wget : nmail 설치 파일 다운로드를 위한 패키지





4. Apache 설정


설정 및 관리의 편의성 때문에 메일 서버는 Virtual Machine 을 사용해서라도 단독으로 따로 돌리길 권장한다.

굳이 기존 서버에 같이 돌리겠다고 한다면 아래 Apache 설정은 달라질 것이다.

개인의 편의에 따라 아래 설정은 얼마든지 변경될 수 있다.


# vi /etc/httpd/conf/httpd.conf

     44 ServerTokens PROD

    262 ServerAdmin admin@yourdomain.com

    277 ServerName mail.yourdomain.com:80

    293 DocumentRoot "/home/nmail2/nmail"

    318 <Directory "/home/nmail2/nmail">

    760 #AddDefaultCharset UTF-8





5. php 설정


# vi /etc/php.ini

    229 short_open_tag = On





6. mysql 설정


중간에 your_password 부분에 입력하는 password 는 추 후 nmail 설치 시 입력해야 하니 기억하자.


# service mysqld restart

# mysql -u root -p mysql

Enter Password:    (초기 비밀번호는 없다. 엔터치면 진입 됨.)

mysql> update user set password=password('your_password') where user='root';

mysql> flush privileges;

mysql> exit


# vi /etc/my.cnf

      7 max_allowed_packet=64M


# service mysqld restart





7. nmail 다운로드 및 설치


# wget http://www.passkorea.net/nmailphp/nmail-php-linux-utf8.tgz

# tar xvfz nmail-php-linux-utf8.tgz

# tar xvfz nmail-php-2.6.11_utf8.tgz

# php nmail-php-2.6.11_utf8_install.php


text로 진행되는 설치 화면 중 사용자가 입력을 해야하는 부분만 발췌하였다.

이 글만 보면 뭔지 이해가 안가겠지만 위에서부터 같이 따라오는 사람은 이해할 수 있을 것이다.


- 지금 SELinux 를 비활성화(disabled)하시겠습까? [Y/n] : y


위 Nmail 라이센스 규정에 동의하십니까? [y/N] : y


  : yourdomain.com


입력하신 도메인을 사용하시겠습니까? [Y/n] : y


  [/home/nmail2] :    (엔터를 누른다)


  :     (본인이 nmail 관리 시 사용할 비밀번호 입력)

  :     (한번 더 입력)


  [localhost] :    (엔터를 누른다)


  :     (mysql 설정 시 입력했던 password 입력)


위 DNS 목록을 사용하시겠습니까? [Y/n] : y


  위 목록에서 실제 사용중인 설정파일의 번호를 입력하여 주십시오. [1-1] : 1


위 정보가 정확합니까? [Y/n] : y


 : 2047    (대용량 첨부, 웹하드 업로드시 허용할 최대 업로드 용량, 단위 : M)


# service httpd restart


# php nmail-php-2.6.11_utf8_install.php


  위 실행파일이 맞습니까? [Y/n] : y


----------------- 설치 완료 -----------------





8. 설치된 패키지 설정


필요 데몬 재시작

# service httpd restart

# service mysqld restart

# service ntpd restart


필요 데몬 시스템 재부팅 시 자동 실행되도록 설정

# chkconfig httpd on

# chkconfig mysqld on

# chkconfig ntpd on


편의성을 위해 방화벽은 끈다.

# service iptables stop

# service ip6tables stop

# chkconfig iptables off

# chkconfig ip6tables off





9. 웹 페이지 접속 및 사용자 생성하여 사용


같은 네트워크 상에 있는 pc에서 이제 메일서버의 ip주소를 웹브라우저에 입력하면 메일서버를 사용할 수 있다.

외부 망에서 접속하는 방법은 사용자의 네트워크 망 구조에 따라 다르기 때문에 생략한다.


기본 관리자 계정은 postmaster 이며 설치 중간에 입력한 password를 이용하여 접속한다.

로그인하면 후 좌측 하단에 있는 관리자메뉴를 통해 추가 회원 관리를 할 수 있다.


내부에서 외부로의 메일 송신은 바로 가능하지만 외부에서 내부로의 메일 수신은 되지 않는다.

이 것이 되기 위해선 먼저 도메인이 있어야 하며 도메인 관리 업체에 메일 관련 정보를 등록하는 등의 절차가 필요하다.



이렇게 Cent OS 에서의 nmail을 이용한 메일서버 구축에 대한 설명은 마무리 한다.

 


 

 

10. 외부 메일 수신 설정 (2015.01.12추가)

 

Windows 서버도 메일 수신이 되었으니 당연히 외부 메일 수신이 될 것이라 생각했는데 안됬다.

알아본 결과 Ceont OS 에 postfix 라는 메일 관련 데몬이 이미 돌아가고 있기 때문.

 

# chkconfig postfix off

 

이제 시스템 리부팅 한 뒤 진행하면 된다.

 

(포트 포워딩이 필요한 환경이라면 25, 110번 포트를 포트 포워딩 해주어야 한다.)


 


And


[35] 종합 중간점검, Apache_Alias

|


- 2014.12.24




[문제]


웹 기본경로 : /export/home/main/public_html 기존에 설정한 내용들 모두 삭제 후 진행


- 조건

host : ns, www

domain : hatms.com

user : main

skel : /sam/

auto creating directory : public_html

ip : 192.168.1.24

index : main.html

hdd : 1G, SCSI : 100, 200, 200, 300, 200

automount, nfs, autofs 설정 partition : 300M - main 계정 생성




ip 변경

# vi /etc/sysconfig/network-scripts/ifcfg-eth0

      5 IPADDR=192.168.1.24

      8 DNS1=192.168.1.24

     11 DOMAIN=hatms.com


1G SCSI HDD 추가, fdisk, mkfs 진행

        => 이전 실습 문서 참조


기존 samadal 계정 $HOME = /home/samadal 로 이동

# usermod -d /home/samadal samadal

# mv /export/home/samadal/ /home/


nfs, autofs 관련 PKG 설치 및 실행

        => 설치 되어 있음

# /etc/rc.d/init.d/nfs restart

# chkconfig nfs on

# /etc/rc.d/init.d/autofs restart

# chkfonfig autofs on


nfs export 설정, server측 automount 설정

# mkdir /sdb

# cd /sdb/

# mkdir 1 2 3 5 6

# vi /etc/fstab

     19 /dev/sdb1       /sdb/1  ext4    defaults                1 2

     20 /dev/sdb2       /sdb/2  ext4    defaults                1 2

     21 /dev/sdb3       /sdb/3  ext4    defaults                1 2

     22 /dev/sdb5       /sdb/5  ext4    defaults                1 2

     23 /dev/sdb6       /sdb/6  ext4    defaults                1 2


# mount -a


# vi /etc/exports

      1 /sdb/1  192.168.1.0/24(rw,no_root_squash,sync)

      2 /sdb/2  192.168.1.0/24(rw,no_root_squash,sync)

      3 /sdb/3  192.168.1.0/24(rw,no_root_squash,sync)

      4 /sdb/5  192.168.1.0/24(rw,no_root_squash,sync)

      5 /sdb/6  192.168.1.0/24(rw,no_root_squash,sync)


# exportfs -ra

# exportfs -v


nfs 방화벽 오픈

# system-config-firewall

        => NFS4 체크


client측 automount : 100, 200, 300(/export/home)

# vi /etc/fstab

     24 192.168.1.24:/sdb/1     /nfs_client/1     nfs             defaults         1 2

     25 192.168.1.24:/sdb/2     /nfs_client/2     nfs             defaults         1 2

     26 192.168.1.24:/sdb/5     /export/home    nfs             defaults         1 2


autofs : 200, 200

# vi /etc/autofs.conf

     38 browse_mode = yes


# vi /etc/auto.misc

     16 sdb3            -rw,hard,intr           192.16        8.1.24:/sdb/3

     17 sdb6            -rw,hard,intr           192.16        8.1.24:/sdb/6


auto creating directory & skel 생성

# cp -r /etc/skel/ /sam/

# mkdir /sam/public_html


main 계정 생성

# useradd -d /export/home/main -m -k /sam main


tip) autofs 로 300M 마운트 하는 방법

# vi /etc/auto.master

      7 /export   /etc/auto.misc

# vi /etc/auto.misc

     18 home            -rw,hard,intr           192.16        8.1.24:/sdb/5

# /etc/rc.d/init.d/autofs restart

# useradd -d /export/home/main -m -k /sam main



DNS & Web 설정

# vi /etc/named.rfc1912.zones

     43 zone "hatms.com" IN {

     44         type master;

     45         file "ha.z";

     46         allow-update { none; };

     47 };

     48

     49 zone "1.168.192.in-addr.arpa" IN {

     50         type master;

     51         file "ha.r";

     52         allow-update { none; };

     53 };


# vi /var/named/ha.z

      1 $TTL 1D

      2 @       IN      SOA     ns.hatms.com. root.hat        ms.com(

      3                         2014122401

      4                         3H

      5                         15M

      6                         1W

      7                         1D)

      8         IN      NS      ns.hatms.com.

      9         IN      A       192.168.1.24

     10 ns      IN      A       192.168.1.24

     11 www     IN      A       192.168.1.24


# vi /var/named/ha.r

      1 $TTL 1D

      2 @       IN      SOA     ns.hatms.com. root.hat        ms.com(

      3                         2014122301

      4                         3H

      5                         15M

      6                         1W

      7                         1D)

      8         IN      NS      ns.hatms.com.

      9         IN      A       192.168.1.145

     10 24      IN      PTR     ns.hatms.com.

     11 24      IN      PTR     www.hatms.com.


# chmod 660 /var/named/ha*

# chown .named /var/named/ha*


# vi /etc/httpd/conf/httpd.conf

    262 ServerAdmin root@hatms.com

    277 ServerName www.hatms.com:80

    293 DocumentRoot "/export/home/main/public_html"

    403 DirectoryIndex index.html index.php index.html        .var main.html


# vi /export/home/main/public_html/main.html

      1 <html>

      2 <head></head>

      3 <body><H1>main page</H1></body>

      4 </html>


# chmod 701 /export/home/main/

# /etc/rc.d/init.d/httpd restart

# chkfonfig httpd on




[문제]


www.hatms.com

www.hatms.com/user1

두개의 내용이 다르게 뜨도록 설정


# cd ~main/public_html/

# mkdir user1

# cp ./main.html ./user1/



[ Apache_Alias ]


# vi /etc/httpd/conf/httpd.conf

    552 Alias /icons/ "/var/www/icons/"

    553 Alias /0g "/gongG/"

# /etc/rc.d/init.d/httd restart


# mkdir /gongG/

# cat > /gongG/index.html

<cetner><H1> gong~~~ gong~~~ </H1></center>



아래 페이지들 접속하여 확인해보기.

www.hatms.com/0g

www.hatms.com/icons

=> Alias 뒤 디렉터리에 / 붙이면 꼭 / 까지 붙여야 접속이 되고 / 안붙이면 /를 안붙여도 접속이 된다.




And


[34] Apache

|


- 2014.12.23


기존 사용하던 server 삭제 후 새로운 압축 해제




1. Apache


웹 서비스를 제공하는 서버

HTML, PHP 및 JSP 페이지가 실행 될 수 있는 환경을 제공하는 '웹 서버 프로그램'



1) 웹 서버의 기본적인 동작


웹 브라우저로 Client가 페이지 요청

HTTP(Hypertext Transfer Protocol)을 사용하여 웹 브라우저와 웹 서버간 의사소통 - 80번 포트




2) Apache 특징


공개형 웹서버 프로그램

다양한 플랫폼에서 동작하는 유연한 설계




[실습]


cd 안에 있는 httpd* PKG 설치

=> 최신 패키지가 있는 것은 nodeps 옵션으로 제거 후 재설치




3) Apache 설정 파일


/etc/httpd/conf/httpd.conf


[ Section1 : 전역 환경 설정 ]


ServerTokens 지시어 : 서버 HTTP 응답 헤더를 설정, 오류문 등 서버 메시지에 출력되는 서버에 대한 정보 설정


Full : 아파치 서버 버전, 운영체제, 모듈 정보 등을 모두 출력

OS : 아파치 서버 버전과 운영체제 정보만을 출력

Minor : 아파치 서버의 하위 버전까지 출력

Min : 아파치 서버의 모든 정보만을 출력

Major : 아파치 서버의 주 버전 정보만을 출력

Prod : 아파치 서버의 정보만을 보여줌


VM 내 브라우저에서 ip주소/asdfasdfasdf 치면 오류 뜨는데 너무 자세한 정보가 나옴

보안상의 이유로 OS -> Prod 로 변경


# vi /etc/httpd/conf/httpd.conf

     44 ServerTokens OS

# /etc/rc.d/init.d/httpd restart

=> VM 내 브라우저에서 이상한 주소 입력해도 최소의 정보만 출력됨


Apache 서버가 설치된 곳 & 사용하는 pid 정보 저장 위치

# vi /etc/httpd/conf/httpd.conf

     57 ServerRoot "/etc/httpd"

     65 PidFile run/httpd.pid

        => /etc/httpd/run/httpd.pid


사용자의 움직임 없을 시 접속 끊을 시간

     70 Timeout 60


페이지를 띄울 때마다 새로운 process 받을 것인지에 대한 여부

     76 KeepAlive Off


76번줄 on 으로 설정했을 시 먹힘. 최대 요청 개수 및 지속시간.

76번 on으로 하면 89번은 짧게 주는 것이 좋음(2~3초)yy

     83 MaxKeepAliveRequests 100

     89 KeepAliveTimeout 15


Apache 접근 포트 변경, 변경하는 경우 방화벽에 등록해야 함

    136 Listen 80


# /etc/rc.d/init.d/httpd restart




[ Section2 ]


문제 생겼을 시 받을 관리자 이메일

    262 ServerAdmin root@localhost


# /etc/rc.d/init.d/httpd restart

httpd: Could not reliably determine the server's fully qualified domain name, using 127.0.0.1 for ServerName

해당 오류 해결 위해 276번 복사, 주석 삭제 후 원하는 도메인 입력

    277 ServerName www.samadal.com:80


웹페이지 기본 경로

    293 DocumentRoot "/var/www/html"


기본이 안될때 보여줄 곳

    318 <Directory "/var/www/html">


293의 디렉터리 안에 어떤 파일을 올릴 것인지

    403 DirectoryIndex index.html index.php index.html.var




[문제]


host : ns, www

domain : samadal.com

Firefox에서 www.samadal.com 을 입력하면 아파치 화면이 아닌 글이나 그림 둘 중 한개가 뜨도록 설정



# vi /etc/resolv.conf

      4 nameserver 192.168.1.145

      5 nameserver 192.168.1.2

      6 nameserver 168.128.63.1


DNS 설정은 이전 실습 파일 참조


# vi /etc/named.conf

# vi /etc/named.rfc1912.zones

# /etc/rc.d/init.d/named restart


# vi /etc/httpd/conf/httpd.conf

    136 Listen 80

    277 ServerName www.samadal.com:80


# /etc/rc.d/init.d/httpd restart




[실습]


samadal 계정 경로 : /home/samadal => /export/home/samadal

웹 기본경로 : /var/www/html => /export/home/samadal

index.html -> sama.html 로 변경 후 내용이 뜨도록 설정


# mkdir -p /export/home/

# mv /home/samadal/ /export/home/

# usermod -d /export/home/samadal samadal


# mv /var/www/html/* /export/home/samadal/sama.html


# vi /etc/httpd/conf/httpd.conf

    293 DocumentRoot "/export/home/samadal"

    403 DirectoryIndex index.html index.php index.html.var sama.html


# chmod 711 /export/home/samadal


# /etc/rc.d/init.d/httpd restart




And


[16] rpm(1)

|


- 2014.11.27


교재 p118 ~



1. rpm : Red Hat Package Manager


centos.org 접속

get centos 7 now -> dvd click

상위 메뉴 중 Mirror list - Asia, kaist 클릭 ....

(http://ftp.kaist.ac.kr/CentOS/6.6/os/i386/Packages/)

설치 가능한 rpm 의 목록들이다.



1) RPM 패키지 파일의 구성


① 패키지명


② 버전

major : 프로그램 자체가 완전 변경 - 그랜저 XG vs TG

minor : 치명적인 버그 수정

patch : 심각한 문제는 아니지만 불편한 것 수정

release : 패치된 것에서 조금의 수정


③ 아키텍쳐

[32bit]

i386 = 80386

- intel, cup 386, 486

i586 : P 1 ~ 3

i686 : P 4 ~ 7


[64bit]

x86_64 : AMD, intel


noarch : 플랫폼에 상관 없음


sparc : SunMicro System 의 스팍 계열 CPU


ppc : Power PC CPU - MAC용 CPU




2) RPM 옵션


-i rpm_file - install, 패키지 설치 되어 있으면 설치 안함

-U rpm_file - Upgrade, 업그레이드

-e rpm_file - 패키지 삭제

-v : verbose - 설치 내용 출력

-h : 설치 작업 상황 그래픽으로 보여줌

--nodeps : 패키지 의존성 검사 안함, 의존성 강제로 끊음



* 작업 전 확인할 것

# rpm -qa | grep 패키지명

(ls -l *ab* = ls -l | grep ab)



설치

# rpm -ivh 패키지명.rpm


삭제

# rpm -e 패키지명




[실습]


vi 설치되어있는지 확인


# vi

# rpm -qa | grep vim

vim-minimal-7.2.411-1.8.el6.i686

vim-enhanced-7.2.411-1.8.el6.i686

vim-common-7.2.411-1.8.el6.i686



* rpm 작업 공식(유의사항)

1. 모든 작업은 반드시 동일한 버전이어야 한다.

2. 의존성 오류(Failed dependencies)를 절대 무시하지 말자.

3. 의존성을 제기한 패키지를 먼저 작업한다.

4. 가급적 의존성 무시(--nodeps)를 사용하지 말자.

5. 'lib'으로 시작하고 중간에 'so'가 있는 경우는 무시해도 된다.

6. 디렉터리로 시작하는 거들(/usr/bin/)은 패키지가 아니므로 무시한다.

7. 대표 패키지부터 작업한다.

8. 나머지는 화면에 보이는 순서대로 작업한다.




vi 삭제

# rpm -e vim-minimal

오류: Failed dependencies:

        vim-minimal is needed by (installed) cvs-1.11.23-16.el6.i686

        vim-minimal is needed by (installed) sudo-1.8.6p3-15.el6.i686

=> 삭제 실패


의존성 오류 뜬 것을 차례대로 삭제하다보면 서로 의존된 것 삭제가 필요한 때가 온다.

그 때에는 2개를 동시에 삭제하면 된다.

# rpm -e redhat-lsb

오류: Failed dependencies:

        redhat-lsb(x86-32) = 4.0-7.el6.centos is needed by (installed) redhat-l

# rpm -e redhat-lsb-compat

오류: Failed dependencies:

        redhat-lsb-compat(x86-32) = 4.0-7.el6.centos is needed by (installed) r

# rpm -e redhat-lsb redhat-lsb-compat


이 뒤부터는 차례대로 위로 올라가며 삭제 진행하면 된다.

vim-minimal 삭제 전체 과정

# rpm -e redhat-lsb redhat-lsb-compat

# rpm -e redhat-lsb-printing

# rpm -e redhat-lsb-graphics

# rpm -e redhat-lsb-core

/var/tmp/rpm-tmp.dAbYuy: line 1: lsb_release: command not found

=> 무시해도 상관 없음


# rpm -e gettext

# rpm -e cvs

# rpm -e sudo

# rpm -e vim-minimal


vim 관련 나머지도 삭제

# rpm -e vim-enhanced

# rpm -e vim-common

# rpm -qa | grep vim

=> 검색 결과가 없다.


# vi

-ksh: vi: not found [그런 파일이나 디렉터리가 없습니다]

=> vi 가 삭제되어 실행되지 않는 것을 볼 수 있다.




[문제1]


http://ftp.kaist.ac.kr/CentOS/6.6/os/i386/Packages/

위의 사이트에서 vim* 으로 시작하는 package를 다운로드 및

linux로 업로드 하신 후 설치해보세요


필요 rpm 파일 다운로드 및 리눅스로의 업로드 후의 작업

# rpm -ivh ./vim-X11-7.2.411-1.8.el6.i686.rpm ./vim-common-7.2.411-1.8.el6.i686.rpm ./vim-enhanced-7.2.411-1.8.el6.i686.rpm ./vim-minimal-7.2.411-1.8.el6.i686.rpm

(혹은   # rpm -ivh ./vim*)




[문제2]


http://ftp.kaist.ac.kr/CentOS/6.6/os/i386/Packages/

위의 사이트에서 mysql* 으로 시작하는 package를 다운로드 및

linux로 업로드 하신 후 설치해보세요


*

perl(DBI) => perl-DBI-

(, ), :: => - (각각의 특수문자들은 - 로 봐도 무방하다.)


*

mysql-connector-java... 를 설치하다 보면 jta 설치하라고 하는데 못찾는다.

일단 해당 패키지는 넘어간다. => 내일 진행


*

lib으로 시작하며 중간에 so 가 들어가는 것을 모두 만족시키는 것만 설치하지 않아도 된다.


*

openssl 설치 도중 버전차이로 설치가 안되는 경우가 발생한다.

설치 되어있는 것을 삭제하려고 하면 너무 많은 것과 충돌하기 때문에

일단 --nodeps 옵션으로 강제 삭제 후 다시 설치한다.




And


prev | 1 | next