태그 글 보관함: 문제 해결

Ruby on rails 프로젝트 생성과 웹서버 기동

생성할 프로젝트 이름이 ‘rcafe’ 일 경우에 이클립스 터미널에서 이클립스 워크스페이스까지 디렉토리 이동 후에 아래 명령으로 프로젝트를 생성한다.

생성시에

이런 에러가 나면 윈도우를 재기동(리부팅)하면 된다.
Couldn’t reserve space for cygwin’s heap

프로젝트는 workspace/rcafe 디렉토리로 생성된다. 이클립스에서 임포트 -> ‘신규프로젝트로서 기존 폴더를 사용’ 메뉴를 선택, 불러올 디렉토리를 rcafe 디렉토리의 경로를 선택해 주고 프로젝트 타입을 rails 로 선택해서 불러 오면 된다.

이클립스 터미널에서 아래 명령으로 웹서버를 기동

이런 에러가 나면 루비 설치 루트\lib\ruby\gems\2.2.0\specifications\sqlite3-1.3.10-x64-mingw32.gemspec 파일을 열어

윗 부분을 아래와 같이 바꾼다.

다시 웹서버 기동하면 이번엔 아래와 같은 에러가 나온다.

nokogiri-1.6.6.2-x64-mingw32 를 언인스톨하고, nokogiri-1.6.7.rc3-x64-mingw32 버전을 설치한다.

생성한 프로젝트 루트에 있는 Gemfile 파일을 열어서 파일 제일 아래에 아래 줄을 추가한다.

번들 업데이트를 실행

웹서버를 재기동하면 일단 기동은 성공한다.

Couldn’t reserve space for cygwin’s heap

문제: Couldn’t reserve space for cygwin’s heap

답: 윈도우 재기동

Git Extensions: Win32 error 487: Couldn’t reserve space for cygwin’s heap, Win32 error 0

이클립스 터미널에서 루비의 레일즈 새 프로젝트 생성시 저 에러 메시지로 시작되는 에러가 발생했다.
상세한 내용은 위 링크에 잘 쓰여 있는데, 가장 간단한 해결 방법은 윈도우 리부팅이다.

CentOS 7.1 최소 설치 후 SSH 포트 번호 변경 방법. 방화벽 포트 열기

CentOS 7.1을 최소 설치 후, SSH 포트를 변경하는 방법을 설명한다. CentOS 7.1에서 바뀐 명령도 있는 것 같고, 최소로 설치하면 설치가 안된 툴들이 있어서 그런지 우분투에서 쓰던 여러 명령들이 작동하지 않는다. 애초에 우분투와 다른 명령들도 많고…

IP 주소 고정

CentOS 설치 과정에서 네트워크 설정으로 들어가서 IP 주소를 고정으로 할당 받도록 하면 일이 많이 편해진다. 설치 과정에서 설정하지 않았으면, 아래 파일을 편집 후 네트워크를 재시작해야 한다.

ifconfig 로 현재 IP 주소를 알아보려고 하면 command not found. 이럴때는 ifconfig 대신 ip 명령을 사용하면 된다.

ifconfig 커맨드를 쓰려면 net-tools 팩키지를 설치하면 된다.

SSH 포트 번호 변경

우분투와 다름없이 아래 명령으로 sshd_config 파일을 열어서 Port 부분의 주석을 해제하고 원하는 포트 번호를 써주고 파일을 저장한다.

로 되어 있는 걸

으로 고치고 저장한다.

그리고, SSH데몬 재기동

테라텀으로 서버 IP 주소에 바꾼 포트 번호로 접속을 해 봐도 접속이 안될 것이다. SSH 포트가 제대로 바뀌어 있나 확인 해 보자.

열려 있는 포트 중에 위에서 바꾼 새로운 SSH 포트 번호인 1022가 나오지 않는다.

이유는 CentOS 에 있는 SELinux가 SSH 포트를 기본 SSH 포트인 22번으로 고정하고 있기 때문이다. SELinux 의 SSH 포트 정의에 1022 번을 추가하기 위해서는 semanage 명령이 필요하다. 하지만, semanage 명령을 쳐보면 command not found. semanage 툴을 설치하자.

먼저 SSH 포트 정의 내용을 확인한다.

ssh_port_t 라는 이름으로 TCP 22번이 쓰여져 있다.

아래 명령으로 ssh_port_t 정의에 TCP 포트 1022번을 추가한다. 시간이 좀 걸린다. 기다리자.

다시 SSH데몬 재기동 후, 포트가 열려 있는지 다시 확인한다.

이번에는 1022번이 열려 있는걸 확인 할 수 있다.
다시 테라텀으로 접속해 보면 여전히 접속이 안될 것이다. 이번엔 방화벽이 문제다.

방화벽 포트 열기

CentOS 에서는 방화벽이 돌아가고 있고, 기본 SSH 포트인 22번 포트는 열려 있지만, SSH 포트를 임의의 포트 번호로 변경을 했을 때는 당연히 그 포트 번호는 방화벽으로 막혀 있는 상태이다.
방화벽에 새로 지정한 SSH 포트 번호를 추가해야 한다.

CentOS 7 에서는 기본 방화벽인 iptables 대신 firewall 을 사용한다.

현재 방화벽 상태는 아래 명령으로 확인한다.

명령 실행 결과

services 에 ssh 는 포트 22번이기 때문에, ports 에 TCP 1022번 포트를 추가해 줘야한다.

아래 명령을 실행해서 1022번 포트를 추가해 주고, 방화벽을 리로드 한다. 그리고, 확인.

ports 에 1022/tcp 라고 되어 있으면 포트 번호가 제대로 추가된 것이다.

이제 테라텀으로 접속하면 잘 접속 될 것이다.

Locale Emulator 한글 윈도우에서 일본 프로그램 실행시 글자 깨짐 해결

제목은 한글 윈도우에서 일본 프로그램 실행시 글자 깨짐 해결이라고 했지만, 일본 윈도우에서 한국 프로그램 실행시 글자 깨짐에도 대응된다.

쓰임새로는
·일본어 윈도우에서 테라텀으로 한글 우분투에 접속하면 터미널의 한글이 깨질 때 (지극히 나 개인적인 상황)
·스크린샷을 간단하게 찍어주는 유틸인 칼무리 등의 한글 어플리케이션 실행시 글자가 깨질 때
기타등등 아주 유용한 용도가 있을 것이다… 아마…

윈도우 10 이전에 윈도우 8 까지는 마이크로 소프트에서 만든 AppLocale 을 이런 용도로 썼었지만, 윈도우 10 에서는 더이상 AppLocale 이 작동하지 않아서 대체품을 찾다가 발견한 것이 Locale Emulator 다.

다운로드와 설치 방법 등은 여기에 쓰여 있다.
http://xupefei.github.io/Locale-Emulator/

Locale Emulator 설치 및 사용법

  1. 다운 받은 Locale.Emulator.2.0.1.0.zip 파일을 적당한 곳에 압축을 푼다. (압축을 푼 곳에 계속 둬야하니 제대로 된 장소에 풀자)
  2. 폴더 안에 LEInstaller.exe 를 실행한다.

그 후 전체적인 설정을 위해서
폴더 안에 LEGUI.exe 를 실행해서 장소와 시간대를 각각 한국어(한국), 서울로 맞추고 저장하면 된다. (저장해도 아무일 없지만 저장 된거다)

글자가 깨지는 프로그램의 실행 파일에서 마우스 오른쪽 클릭으로 메뉴를 열면 로케일 에뮬레이터 메뉴가 새로 생겨나 있다.
Run in Japanese 이라는 이름(LEGUI.exe에서 바꿀 수 있다)의 메뉴를 클릭하면 아까 설정한 장소의 언어로 프로그램이 실행 된다.

칼무리 in 일본어 윈도우즈 10. 원래 글자가 깨지지만 이제 제대로 한글로 표시 된다!
칼무리 in 일본어 윈도우즈 10.
원래 글자가 깨지지만 이제 제대로 한글로 표시 된다!

실행할 프로그램 위에서 일일이 오른쪽 클릭하기 상당히 귀찮은데 단축 아이콘을 만드는 방법이 있다.
프로그램 위에서 오른쪽 클릭해서 나오는 로케일 에뮬레이터 메뉴에서 ‘프로필로 실행’을 선택하고, 마찬가지로 장소와 시간대를 설정한다. 그 다음이 중요한데 화면 상단에 저장 버튼 옆에 숏컷 버튼을 누르면 바탕화면에 해당 프로그램의 단축 아이콘이 생성 된다. 이 단축 아이콘으로 프로그램을 실행하면 설정한 프로필의 장소와 시간대로 프로그램이 실행 된다.

Problem with directory /usr/share/tomcat7/common/classes

톰캣 기동시 나오는 에러의 해결 방법.

8 27, 2015 12:56:56 午前 org.apache.catalina.startup.ClassLoaderFactory validateFile
警告: Problem with directory [/usr/share/tomcat7/common/classes], exists: [false], isDirectory: [false], canRead: [false]
8 27, 2015 12:56:57 午前 org.apache.catalina.startup.ClassLoaderFactory validateFile
警告: Problem with directory [/usr/share/tomcat7/common], exists: [false], isDirectory: [false], canRead: [false]
8 27, 2015 12:56:57 午前 org.apache.catalina.startup.ClassLoaderFactory validateFile
警告: Problem with directory [/usr/share/tomcat7/server/classes], exists: [false], isDirectory: [false], canRead: [false]
8 27, 2015 12:56:57 午前 org.apache.catalina.startup.ClassLoaderFactory validateFile
警告: Problem with directory [/usr/share/tomcat7/server], exists: [false], isDirectory: [false], canRead: [false]
8 27, 2015 12:56:57 午前 org.apache.catalina.startup.ClassLoaderFactory validateFile
警告: Problem with directory [/usr/share/tomcat7/shared/classes], exists: [false], isDirectory: [false], canRead: [false]
8 27, 2015 12:56:57 午前 org.apache.catalina.startup.ClassLoaderFactory validateFile
警告: Problem with directory [/usr/share/tomcat7/shared], exists: [false], isDirectory: [false], canRead: [false]
8 27, 2015 12:57:02 午前 org.apache.coyote.AbstractProtocol init
情報: Initializing ProtocolHandler ["http-bio-127.0.0.1-8080"]
8 27, 2015 12:57:02 午前 org.apache.coyote.AbstractProtocol init
情報: Initializing ProtocolHandler ["ajp-bio-8009"]
8 27, 2015 12:57:02 午前 org.apache.catalina.startup.Catalina load
情報: Initialization processed in 4545 ms
8 27, 2015 12:57:02 午前 org.apache.catalina.core.StandardService startInternal
情報: サービス Catalina を起動します

디렉토리가 없어서 에러가 나는 것 같으니 디렉토리를 만들어 준다. 끝.

cd /usr/share/tomcat7
mkdir -p common/classes
mkdir -p server/classes
mkdir -p shared/classes