이것도 어제 새벽에 한 4시간 정도 삽질해서 겨우겨우 알아냈다.
이 포스트 에서는 기본적인 것 (비밀번호, UserToken 등등, 이메일 같은 잡스러운것은 제외) 만 다루도록 하겠다. (사실은 아직.. 못 알아냈다고 말은 못하고)

** 변수가 $wg 로 시작하는것은 각자 Wikimedia 디렉토리의 LocalSettings.php 를 확인하고 바꿔주면된다.

<?php
$id = "";
$password = "";

$salt = substr( md5( mt_rand( 0, 0x7fffffff ) . serialize("") ), 0, 8);
$password = ':B:'.$salt.':'.md5($salt.'-'.md5($password));

$usertoken = md5( $wgSecretKet . mt_rand( 0, 0x7fffffff ) . "$wgDBname-$wgDBprefix" . $id );
$time = strftime('%Y%m%d%H%M%S');

$sql = "INSERT INTO `prefix_user` (`user_name`, `user_password`, `user_touched`, `user_token`, `user_email_token`, `user_registration`, `user_editcount`) VALUES ('$id', '$password', '$time', '$usertoken', '0000000000000000000000000000000000000000000000000000000000000000', '$time', '0');";
mysql_query($sql);

수고 하셨습니다.
저작자 표시

'위키 > MediaWiki' 카테고리의 다른 글

[MW] 미디어위키 유저 직접 추가하기  (2) 2010/08/21
이 포스트를 쓰기 앞서, 이 내용은 http://wiki.xen.org/xenwiki/Xen4.0 에서 소개 된
Set up Ubuntu 10.04 Server PV DomU at Xen 4.0 Dom0 (pvops 2.6.32.12 kernel) Dom0 on top of Ubuntu 10.04 Server
를 번역한 것이며, 여분의 우분투 서버가 없어서 제가 직접 설치해 보지 못했다는 것을 알려드립니다.

apt-get install libcurl4-openssl-dev \
xserver-xorg-dev \
mercurial gitk \
build-essential \
libncurses5-dev \
uuid-dev gawk \
gettext texinfo bcc \
libncurses5-dev dpkg-dev debhelper \
iasl texinfo bridge-utils bison flex
apt-get build-dep xen-3.3

먼저 의존성에 걸리는 패키지 와 Xen에 관련된 모든 패키지를 받은 뒤
그리고 Xen 커널 을 git 으로 체크아웃 한다.

cd /usr/src
git clone git://git.kernel.org/pub/scm/linux/kernel/git/jeremy/xen.git linux-2.6-xen
cd linux-2.6-xen
git checkout -b xen/stable-2.6.32.x origin/xen/stable-2.6.32.x


체크아웃이 다 되었으면 데비안 방식(?)으로 커널을 컴파일 한다.

make menuconfig # Enabled the dom0 support and the Xen backend as usual on Ubuntu 9.10, F12
make -j(x)number_of_kernels
make modules_install install
chmod g-s /usr/src -R
make deb-pkg
dpkg -i ../linux-image*2.6.32.12*.deb
depmod 2.6.32.12
update-initramfs -c -k 2.6.32.12

또는

aptitude install kernel-package fakeroot
export CONCURRENCY_LEVEL=(코어갯수) +1
make-kpkg clean
fakeroot make-kpkg --initrd --append-to-version=-xen kernel-image kernel-headers
update-initramfs -c -k 2.6.32.16

만약 첫번째 방법으로 했을 때에는
(커널 옵션) <M> Xen /dev/xen/evtchn device
(명령어) echo “xen-evtchn” >> /etc/modules

두번째는
(커널 옵션) <*> Xen /dev/xen/evtchn device
 
Xen 4.0 설치

hg clone http://xenbits.xensource.com/xen-4.0-testing.hg
cd xen-4.0-testing.hg
make xen
make tools
make install-xen
make install-tools PYTHON_PREFIX_ARG=

hg 로 Xen4.0 소스르 받은 뒤, 컴파일 + 설치해 준다

update-rc.d xend defaults 20 21
update-rc.d xendomains defaults 21 20


그리고 (우분투 에서) 서비스 데몬으로 인식(?)시켜 준다.

grub 메뉴 파일에 다음과 같은 텍스트를 넣은 뒤, 리붓 한다. 리붓시에 커널을 밑 이름과 같은 커널을 로딩한다.

menuentry "Xen 4 / Ubuntu 10.04 kernel 2.6.32.12" {
insmod ext2
set root='(hd1,5)'
multiboot (hd1,5)/boot/xen.gz dummy=dummy
module (hd1,5)/boot/vmlinuz-2.6.32.12 dummy=dummy nopat root=/dev/sdb5 ro console=tty0
module (hd1,5)/boot/initrd.img-2.6.32.12
}


그리고 VM 을 생성한 뒤, 즐겁게 놀면(?) 된다.

* libvirtd 를 이용한(?) Xen 설치 방법은 다음이 시간에..
* 번역오류, 문제점, 오타 등이 있을 경우에는 댓글로 알려주시기 바랍니다.
저작자 표시

블로그 이름을 바꿨다.

다이어리 2010/08/08 04:02 Posted by Relipmoc
ViRTuallize YouR LiFE.

너의 인생을 가상화 해주갓써.

.. 뭐.. 뭐라고?
...

그냥 원상복귀 함 =_=;
저작자 표시

'다이어리' 카테고리의 다른 글

블로그 이름을 바꿨다.  (2) 2010/08/08
7/18 @ MBC Heros  (2) 2010/07/18
로밍한 폰을 잃어 버릴"뻔" 했습니다  (2) 2010/06/07
* 이 포스팅은 CentOS 패키지 설치를 기준으로 설명하는 글 입니다. 컴파일 설치는 약간 다를 수 도 있습니다.

나는 CentOS 패키지로 설치한 것이라, 컴파일 설치로 하면 좀 틀릴지도 모르곘지만,
CentOS 에서 패키지로 Xen 을 깔면 기본 아이피 대역이 192.168.122.* 이다. 이걸 너무 바꾸고 싶어서 안달이 났지만 결국 인터넷엔 문서가 하~나~도~ 없어서 이 포스팅을 쓰게 됬다.

뭐 솔직히 어떤 큰 프로젝트에서 하이퍼바이저를 바꾼다거나 뭐 그런게 아니라면 이걸로 큰일이 생긴다거나 그런건 없겠지만, 나 같은 경우에는 10.0.0.* 이 아니면 좀 꺼림칙 한 기분이 들어서 (이게 바로 안달이 난 이유다.-_-..) 여러가지 삽질을 해 보았다. 하지만 어느 파일을 바꿔야 되는지는 찾아 내었지만 어떻게 그걸 적용 하는지를 알아내지 못하고 포기했었는데, 알고보니 쉬운 곳에 숨어 있었다.

바로 virsh 를 사용하는 것이였다.

덧붙이자면, 내가 몰랐던 이유가 libvirtd 를 끄면 네트워크 변수로 올라가 있던 데이터가 기본 네트워크 설정 파일에 Overwrite 되서 리셋해도 적용이 안됬던 것이다 -_- libvirtd 를 끄고 수정하고 다시 올렸으면 되는걸 괜히 삽질;

일단 virsh 로 들어간다
# virsh

그리고 net-edit 로 기본 네트워크 파일을 수정한다.
# net-edit <Network Name>
이 때 net-list 명령어로 어떤 네트워크 이름인지 확인 한 후에 저기에 대입해 주면 된다.
CentOS 패키지로는 default 였던걸로 기억한다. (Xen 4.* 은 틀릴지도 모름)

그럼 대충

<network>
  <name>default</name>
  <uuid>12341234</uuid>
  <forward mode='nat'/>
  <bridge name='virbr0' stp='on' forwardDelay='0' />
  <ip address='192.168.122.1' netmask='255.255.255.0'>
    <dhcp>
      <range start='192.168.122.2' end='192.168.122.254' />
    </dhcp>
  </ip>
</network>

이런게 보일것이다.

딱 봐도 이해갈거라 생각하지만.......................
ip 태그의 address 가 게이트웨이다. 그리고 netmask 는.. 알거라 믿고 (솔직히 설명하기 귀찮다고는 말 못한다.)
그 밑에 dhcp 의 range 가 각각의 VM 에 어느 아이피들을 할당 시킬거지 정하는 부분이다.

<network>
  <name>default</name>
  <uuid>12341234</uuid>
  <forward mode='nat'/>
  <bridge name=virbr0' stp='on' forwardDelay='0' />
  <ip address='10.0.0.1' netmask='255.255.255.0'>
  </ip>
</network>

난 이렇게 바꾸어 줬다. dhcp 부분을 날려버리고 게이트웨이와 netmask 부분만 바꾸어 주었다.

저기서 dhcp 를 활성화 시키고 싶으면
ip 태그 안에
    <dhcp>
      <range start=10.0.0.2' end='10.0.0.254' />
    </dhcp>

를 추가하면 될듯하다. 테스트를 안해봐서 잘은 모르겠..

다 수정 했으면 ^X 를 하든 :wq 를 하든지 해서 에디터를 빠져나온후,

# net-destroy default
# net-create /path/to/xml/default.xml

로 다시 시작해 주면 된다.
CentOS 패키지의 경우에는
# net-create /etc/libvirt/qemu/networks/default.xml
이다.

끝.

아, 그리고 VM 들 network 도 restart 도 해 주어야 한다. (당연한건가)
PS. libvirtd + qemu 를 쓰는 모든 하이퍼바이저 (몇 개 없겠지만) 에도 다 적용될지도 모르겠다. 안써봐서 잘..... 모르겠지만.
저작자 표시