C# 2006/12/10 19:30

타 플랫폼에서의 .NET

글출처: http://cafe.naver.com/monodevelop.cafe 남정현(junghyun0816) 
------------------------------------------------------------------
닷넷은 프레임워크라고 하는 구성 요소를 중심 축으로 하여 여러 가지 서비스들을 제공하고 있습니다. 이 프레임워크는 대개의 닷넷 개발자들이 Microsoft 제품 외에는 없다고 단정을 지을 때가 상당히 많은데, 사실은 프레임워크도 종류가 여러가지입니다. Mono는 이러한 것들 중의 한 종류라고 할 수 있습니다.

 

* Microsoft .NET Framework

Windows 환경에서 가장 널리 사용됩니다. Microsoft가 .NET에 관해서 보여주고 싶어하는 것을 가장 빨리 확인할 수 있는 프레임워크이기도 합니다. 현재 공개된 가장 최근의 버전은 2.0 Beta 2이며, 아직은 1.1 버전을 널리 사용합니다. 소스 코드는 사용하실 수 없지만 무료로 다운로드하실 수 있습니다.

 

* Microsoft Rotor Framework

.NET Framework에 대한 얼터너티브 버전으로, Mac OS X, BSD 계열 유닉스, Windows를 대상으로 배포 중인 프레임워크입니다. .NET Framework의 버전에 맞춰서 같이 발매되는데, .NET Framework 2.0의 정식 버전이 발표되면 마찬가지로 이 프레임워크의 새 버전이 나옵니다. 이 프레임워크는 오픈 소스이며, 소스 코드로 제공됩니다.

 

* Mono Framework(http://www.mono-project.com/)

원래 Ximian에서 처음 개발을 시작한 오픈 소스 프레임워크입니다. Linux, Unix, Mac OS X, Windows를 대상으로 개발되는 프레임워크입니다. Microsoft .NET 영역에서 제공되지 않는 툴킷을 다수 기본 제공하며 많은 수의 닷넷 계열 오픈 소스 프로젝트들이 이 프레임워크를 기준으로 작성됩니다. GTK#, COCOA#, 다수의 ADO .NET 어댑터 (SqLite, MySQL, ...)들을 기본 제공합니다.

 

* DotGNU Framework

GPL 라이센스를 따르는 오픈 소스 프레임워크입니다. Mono에 비해 늦게 시작하였지만 Mono와는 달리 성능에 상당히 초점을 맞추고 개발하는 프레임워크입니다. 이 프레임워크가 지향하는 환경은 리눅스에서 네이티브 모드로 닷넷 어플리케이션들을 구동하는 것이라 합니다.

 

현재까지 알려진 프레임워크는 이 정도입니다. 진행하시고자 하는 프로젝트나 학습 방향에 맞는 프레임워크와 개발 도구를 선택하시는 것은 본인의 몫이기에 어느 것이 더 좋다고 이야기할 수는 없겠습니다.
------------------------------------------------------------------



좀더 자세한 사항을 알고자 한다면 MONO Framework의 개발 까페인 http://cafe.naver.com/monodevelop.cafe 를 참고하시기 바랍니다.


참고로 Rotor Framework이라고 알려져 있는 것은 SSCLI2.0으로 나와 있으며 FreeBSD에만 포팅이 되는 것으로 알고 있는데 정확치는 않습니다. 다음 사이트를 참고하시기 바랍니다.

http://research.microsoft.com/sscli/ 
패도라에서 APM을 설치 합니다.

yum 명령을 이용해서 Apache 웹 서버, PHP, MySQL 을 설치 해야 합니다.

rpm -qa | grep httpd

rpm -qa | grep php
rpm -qa | grep mysql

현재 설치 되있는 것을 찾습니다.

yum search 명령으로 각각의 패키지를 찾아 보겠습니다.

yum search httpd
yum search php
yum search mysql
yum search mysql-server
yum search php-mysql

yum search system-config-httpd
이렇게 한후

이 모든 패키지를 함께 설치합니다.

yum install httpd php mysql mysql-server php-mysql system-config-httpd

한후 웹 서버 데몬을 다시 시작 합니다.

/etc/rc.d/init.d/httpd start

리눅스 서버를 부팅함과 동시에 웹서비스를 시작할 수 있도록
활성화 합니다.

chkconfig --list | grep httpd
로 확인

chkconfig httpd on
chkconfig --list | grep httpd

이후 방화벽을 설정 합니다.

iptables -L로 확인 후

iptables -I INPUT -p tcp --dport 80 -j ACCEPT

다시 확인
iptables -L로 확인

방화벽 다시 설정
/etc/rc.d/init.d/iptables save

호스트이름을 통해 접속하기 위해서는 squid를 중지 합니다.

chkconfig 를 통해 squid를 중지 시킵니다.

mysql 설정

/etc/rc.d/init.d/mysqld start로 시작하면 초기화가 됩니다.

초기화가 실행되면 이제 접근할수 있어야 하는데 이때 계정을 생성해 주어야 합니다.

mysqladmin -u root password '1234'

이제 실행

mysql -u root -p
비번

chkconfig 명령으로 mysqld를 활성화 합니다.

마지막으로 php와의 설정입니다.
php의 문서도 웹으로 서비스 할수 있게 해줍니다.

vi /etc/httpd/conf/httpd.conf
열고

DirectoryIndex index.php index.html index.htm
이것을 추가하고

AddType application/x-tar .tgz
AddType application/x-httpd-php .php .phtml .php3
AddType application/x-httpd-php-source .phps

위와 같이 하고 웹서버를 재시작 합니다.

그리고 제대로 동작 하는지 테스트용을 만듭니다.

vi /var/www/html/test.php
리눅스 시스템에서 현재 쓰고 있는 윈도우의 파일시스템의 파일을 쓰고 싶은 경우가 간혹 생긴다.
이럴 경우에는 마운트란 것을 사용하여 마운트 할수 있다.

vfat의 경우

일단 디렉토리를 만들고

1. mkdir /mnt/c
2. mount -t vfat /dev/hda1 /mnt/c

하면 마운트 된다.

ntfs일 경우

ntfs의 경우 Microsoft 사에서 기술 공개를 하지 않았기 때문에 아직 읽기밖에 지원 되지 않는다.
그래서 커널 모듈을 인스톨 하여 사용하여야 한다.

1. uname -r
2. uname -m
으로 버전을 알아 내고

http://www.linux-ntfs.org <-- 사이트에 방문 커널에 맞는 패키지를 다운 한다.

3. rpm -Uvh kernet-mo......rpm 명령어로 패키지를 설치하고
4. modprobe ntfs 로 커널을 메모리에 올린다.
그리고
5. lsmod 로 확인해 본다.
6. mount -t ntfs /dev/hda1 /mnt/c 로 마운트 한다.

리눅스의 텍스트 콘솔 화면에서는 한글이 깨진 상태로 출력 된다.
그래서 무엇을 볼려고 하면 ㅁㅁㅁ 이렇게 나와서 안보는 것만 못하게 된다.
그럼 차라리 영어로 바꾸면 간단히나마 알수 있을 것이 아닌가

해결책

콘솔 모드 영어로
export LANG=en_US

콘솔 모드 한글로
export LANG=ko_KR.UTF_8

위와 같은 방법으로 하면 해결 할수 있으나 하나하나 하기는 힘들다
그렇다면 MS-Dos에서 자동으로 실행되는 환경 설정 파일 autoexec.bat과 config.sys처럼
리눅스에서도 자동 실행 되는 파일을 설정으로 간단히 할수 있다.

vi /root/.bashrs

와 같이 하고 alias를 설정한다.

alias en='export LANG=en_US'
alias en='export LANG=ko_KR.UTF-8'

이렇게 하면

div>