gitlab설치 메뉴얼을 검색해보면 그 방법이 쉽지 않아 보인다.


그런데 docker로 설치를 하는 방법이 있어서 시도해봤다.


https://gitlab.com/gitlab-org/gitlab-ce/tree/master/docker


테스트한 운영체제는 Ubuntu 14.04


계정으로 로그인을 하고 메뉴얼대로 명령어를 실행시킨다.

 -docker는 우분투 포함 설치본이 아니라 최신 배포폰으로 설치를 했다.


sudo docker run --detach \
    --publish 8443:443 --publish 8080:80 --publish 2222:22 \
    --name gitlab \
    --restart always \
    --volume /srv/gitlab/config:/etc/gitlab \
    --volume /srv/gitlab/logs:/var/log/gitlab \
    --volume /srv/gitlab/data:/var/opt/gitlab \
    gitlab/gitlab-ce:latest

설치 끝


정말이다. 이게 끝이다.


8080포트로 접속을 하면 접속 UI가 보인다.


그런데 이상태로는 운영을 할 수 없다.


sudo docker exec -it gitlab /bin/bash

You can also edit just /etc/gitlab/gitlab.rb:

sudo docker exec -it gitlab vi /etc/gitlab/gitlab.rb

You should set the external_url to point to a valid URL.

You may also be interesting in Enabling HTTPS.

To receive e-mails from GitLab you have to configure the SMTP settings, because Docker image doesn't have a SMTP server.

Note that GitLab will reconfigure itself at each container start. You will need to restart the container to reconfigure your GitLab:


설정을 수정하면 된다.


호스트에서

/srv/gitlab/config의 gitlab.rb 파일을 루트 계정에서 수정해도 된다.



참고 포스팅 : http://blog.lael.be/post/73  


가장 잘되어 있는 글인데 몇가지 내가 설정하다가 문제 생긴 부분에 대하여 기술한다.


11번.

chmod 711 /home
chmod -R 700 /home/*

/home경로 에 다른 사용자가 사용중인경우 권한이 모두 700으로 바뀌는 문제가 발생하니

우분투를 처음 설치하고 아파치 설정하는 경우가 아니라면 하지 않는것이 좋다.

사용자 계정의 권한 설정은 마지막에 적어둔것으로 한다.


11-1 php 이외의 확장자도 사용할 계획이라 설정안함


15번 추가보안 설정

security.conf


// 전부 막기

<Directory />
AllowOverride None
Order Deny,Allow
Deny from all
</Directory>
// 허용할 경로 풀기
<Directory /var/www/html/>
AllowOverride None
Order Allow,Deny
Allow from all
</Directory>


사용자 계정 사용하기

sudo a2enmod userdir

sudo vim /etc/apache2/mods-available/userdir.conf


<IfModule mod_userdir.c>
UserDir public_html
UserDir disabled root

<Directory /home/*/public_html>
AllowOverride FileInfo AuthConfig Limit Indexes
Options MultiViews SymLinksIfOwnerMatch IncludesNoExec
<Limit GET POST OPTIONS>
Order allow,deny
Allow from all

Require all granted
</Limit>
<LimitExcept GET POST OPTIONS>
Order deny,allow
Deny from all

Require all denied
</LimitExcept>
</Directory>
</IfModule>


이것을 하지 않으면 : You don't have permission to access를 보게 된다.

사용자 계정의 public_html의 권한설정

chmod -R a+rX ~/public_html

chmod a+rx ~


docker란게 있다더라

가상화 시스템인데 빠르다더라

..

도커(Docker) 튜토리얼 : 깐 김에 배포까지 를 읽어만 보고 대략 감만 잡아 둔 상태였다.


그래서? 이걸 어디다 어떻게 써먹는다는거지?


나중에 다시 봐야지 하고 넘겨놨었는데

오늘 Docker를 이용한 Jenkins 설치를 보고 나서 내가 docker에 대해서 완전히 잘못 알고 있다는걸 깨달았다.


그리고나서 다시 도커 튜토리얼 링크를 보니...이미 언급이 되어 있네?


다시 한번 느낀다..열번 읽어보는것 보단 한번 타이핑 하는것이 좋다..


전에 Jenkins를 한번 설치 해본적이 있었는데 이방법은 확실히 편하다.



'지식창고 > 리눅스' 카테고리의 다른 글

gitlab을 docker로 운영하기  (0) 2015.09.21
우분투에 아파치 설정 하기  (2) 2015.06.02
CentOS 7.0 에서 Yobi 설치  (0) 2014.07.25
CentOS 7.0 LAMP 설치  (0) 2014.07.24
CentOS 7 최소 설치 당황스러운점  (1) 2014.07.10

참고 링크

https://github.com/naver/yobi


http://www.playframework.com/documentation/2.0/Installing


root 홈계정에서 설치 시작

wget http://downloads.typesafe.com/play/2.1.0/play-2.1.0.zip

unzip play-2.1.0.zip

mv play-2.1.0 /usr/local/play


vim .bashrc

export PATH=$PATH:/usr/local/play


source ~/.bashrc


yobi는 /home/yobi로 설치

cd /home

git clone https://github.com/naver/yobi.git

cd yobi
play

기다리면 콘솔이 뜬다

start -DapplyEvolutions.default=true -Dhttp.port=9000

한참 다운로드를 진행한다.


Starting server. Type Ctrl+D to exit logs, the server will remain in background

이 메시지가 보이면 준비완료!


방화벽에서 포트를 열어주고

firewall-cmd --permanent --add-port=9000/tcp

firewall-cmd --reload


접속 하면 설정 화면이 보인다.



그리고 마주치는 멘붕 페이지...어쩌라고????????????

당황하지 않고 터미널로 돌아가 Ctrl+D를 살포시 누르고

play stop

play start

서버 재시작 완료!


다시 Ctrl+D를 누르라는 메시지가 보이면 눌러주고 브라우저에서 새로 고침을 한다.


Yobi 설치끝!!


아무나 들어오면 안되니까


yobi/conf/application.conf

#if you want to use sign-up confirm, uncomment below
signup.require.confirm = true

e-mail 발송 할 수 있도록 메일 서버 설정

smtp.user = "UserID"

smtp.password = "passwd"

# false로 해야 실제 메일 발송이 된다.
smtp.mock = false

꼭 "" 으로 묶어준다. 안해주면 삽질함

다시 서버 재시작


이제 아파치와 proxy 연동을 해보자 mod_proxy.so는 기본적으로 올라오니 안써도 된다.


http://www.playframework.com/documentation/2.3.x/HTTPServer


/etc/httpd/conf.d/yobi.conf


<VirtualHost *:80>
  ProxyPreserveHost On
  #ServerName localhost
  ProxyPass  /excluded !
  ProxyPass / http://127.0.0.1:9000/
  ProxyPassReverse / http://127.0.0.1:9000/
</VirtualHost>

9000 포트 80 포트 둘다 접속 된다.


그런데 나는 /redmine 의 경로로 redmine을 운영하므로 yobi는 /yobi로 하고 싶다.


yobi.conf 파일은 삭제 하고 redmine의 설정인 passenger.conf에 proxy 설정을 추가한다.

<VirtualHost *:80>
    ServerName 127.0.0.1
    DocumentRoot /var/www/html
    RailsBaseURI  /redmine
    <Directory /var/www/html>
        Options FollowSymLinks
        order allow,deny
        allow from all
    </Directory>
    ProxyPreserveHost On
    ProxyPass  /excluded !
    ProxyPass /yobi http://127.0.0.1:9000/yobi
    ProxyPassReverse /yobi http://127.0.0.1:9000/yobi
</VirtualHost>

각각의 경로로 접속은 되나 yobi쪽 리소스가 깨진다. 이건 어떻게 해야 할지 찾아봐야겠다.

관련 이슈 : #498, #752


yobi/conf/application.conf

75번째 줄 #Server 항목 적당한 위치

application.context="/yobi"

redmine, yobi 둘다 잘 동작한다.


하지만 저장소 URL은 yobi가 붙지 않는 문제가 아직 있다.

해결 방법이 올라오면 수정 예정( 버그사항이라 수정예정이라고 함)

0.60 에서 해당 이슈 수정

'지식창고 > 리눅스' 카테고리의 다른 글

우분투에 아파치 설정 하기  (2) 2015.06.02
docker에 대한 오해와 이해  (0) 2014.07.28
CentOS 7.0 LAMP 설치  (0) 2014.07.24
CentOS 7 최소 설치 당황스러운점  (1) 2014.07.10
CentOS 6.5 + Jetty 9.1.1 + Solr 4.5.1  (1) 2014.02.11

http://www.tecmint.com/install-lamp-in-centos-7/


문서대로 설치 하면 깔끔하게 설치 됩니다.


아파치는 2.4

PHP는 5.4

DB는 MariaDB 5.5 가 설치 되는군요.


phpmyadmin의 경우 fail2ban을 설치 하려고 epel 저장소를 추가해놨는데 거기에 있네요.


설치는 똑같이 yum install phpmyadmin으로 하고


vim /etc/httpd/conf.d/phpMyAdmin.conf


설정파일에 아파치 2.4 와 2.2용 설정이 둘다 들어 있습니다.

접속할 IP 대역을 지정해야 외부에서 접속이 됩니다.

Alias /phpMyAdmin /usr/share/phpMyAdmin
Alias /phpmyadmin /usr/share/phpMyAdmin

<Directory /usr/share/phpMyAdmin/>
   <IfModule mod_authz_core.c>
     # Apache 2.4
     <RequireAny>
       Require ip 127.0.0.1 192.168.0.0/24
       Require ip ::1
     </RequireAny>
   </IfModule>
   <IfModule !mod_authz_core.c>
     # Apache 2.2
     Order Deny,Allow
     Deny from All
     Allow from 127.0.0.1
     Allow from ::1
   </IfModule>
</Directory>

<Directory /usr/share/phpMyAdmin/setup/>
   <IfModule mod_authz_core.c>
     # Apache 2.4
     <RequireAny>
       Require ip 127.0.0.1 192.168.0.1
       Require ip ::1
     </RequireAny>
   </IfModule>
   <IfModule !mod_authz_core.c>
     # Apache 2.2
     Order Deny,Allow
     Deny from All
     Allow from 127.0.0.1
     Allow from ::1
   </IfModule>
</Directory>

아파치 서비스 재기동을 하고

systemctl restart httpd


http://URL/phpmyadmin/setup/

환경 설정해주고 


http://URL/phpmyadmin/

접속하면 됩니다.






VMWare에 최소 설치로 설치 해봣습니다.


1. eth0가 아니라  ifcfg-eno16777736 이란 이름으로 잡힘

2. ifconfig가 기본설치 되지 않음

2.2 ip확인은 ip addr 로 가능

2.1 ifconfig 사용하려면 yum install net-tools

3. system-config-network-tui  없어짐

   - system-config-firewall-tui 와 NetworkManager-tui로 나뉘어진것 같아보임

   - yum으로 설치 해도 firewall-cmd를 사용하라고 하며 동작 하지 않음 OTL


ps.


http://www.tecmint.com/configure-network-interface-in-rhel-centos-7-0/


슬슬 CentOS 7.0 관련 글들이 올라오는군요.


yum install NetworkManager-tui
nmtui


실행 화면에서 선택 하거나

아래 명령어로 바로 에디팅

nmtui edit eno16777736
nmtui connect eno16777736


7.0에 명령어 체계가 많이 바뀐듯 하네요.


service,chkconfig 의 기능을  systemctl 에서 다 되는군요.


 

Solr 한글 형태소 분석기가 4.5.1에서만 돌아간다고 하여 설치를 시작함


1. jetty 설치


http://redutan.blogspot.kr/2014/01/centos-6-jetty-9-jenkins.html


http://dcvan24.wordpress.com/2013/05/16/how-to-deploy-solr-4-3-on-jetty-9/


위의 두 링크를 참고로 하여 설치를 하였다.


jetty라는 사용자를 생성하고 jetty를 /srv/jetty 경로로 이동시킵니다. 이제 /srv/jetty 가 jetty 홈경로입니다. 그리고 권한까지 생성합니다.
# useradd jetty
# mv jetty /srv
# chown -R jetty:jetty /srv/jetty


서비스에 등록한다.
# ln -s /srv/jetty/bin/jetty.sh /etc/init.d/jetty
# chkconfig --add jetty
# chkconfig jetty on


8080 방화벽을 해제한다.
# vi /etc/sysconfig/iptables

# 방화벽에 추가할 내용
-A INPUT -m state --state NEW -m tcp -p tcp --dport 8080 -j ACCEPT
jetty를 기동하고 내용을 확인한다.
# service jetty start
# curl http://localhost:8080

환경 파일은 아래와 같이 설정한다. - solr의 설정까지 함께 들어 있으니 solr의 설정은 주석으로 막고 jetty구동 테스트를 하면 되겠다.

Create the settings file of jetty in /etc/default
vi /etc/default/jetty

and paste following in it.
JAVA_HOME=/usr/bin/java
JAVA=$JAVA_HOME
JETTY_HOME=/srv/jetty
JETTY_USER=jetty
#JETTY_ARGS=jetty.port=8081
JETTY_LOGS=/srv/jetty/logs
JAVA_OPTIONS="-Dsolr.solr.home=/srv/solr $JAVA_OPTIONS"


Then start it as a service.


2. solr

  우분투에 설치법 링크대로 설치를 한다 경로만 CentOS에 맞게 /srv에 설치를 하였다.

Extract the tarball of Solr to anywhere you like.
tar zxvf solr-4.3.0-src.tgz -C /tmp

Copy the .war package to webapps directory of $JETTY_HOME, copy solr directory in the example/ directory to a preferred directory as $SOLR_HOME, e.g /opt. dist/ and contrib/ are also necessary.
cp -a solr-4.3.0/dist/solr-4.3.0.war /srv/jetty/webapps/solr.war
cp -a solr-4.3.0/example/solr /srv/solr
cp -a solr-4.3.0/dist /srv/solr
cp -a solr-4.3.0/contrib /srv/solr

Also, you will need the context and some modules to have Solr run properly on Jetty.
cp -a solr-4.3.0/example/contexts/solr-jetty-context.xml /srv/jetty/webapps/solr.xml
cp -a solr-4.3.0/example/lib/ext/* /srv/jetty/lib/ext/

3. solr 환경 파일

   본문의 경로는 잘못 되어있다. 덧글에 있는것처럼 경로를 수정하며, 만약 제대로 되지 않는다면 구동시의 로그를 자세히 살펴보면 정확한 경로를 설정할 수 있게 알려준다.

Since the directory structure is changed, you need to edit solrconfig.xml to make solr able to read files in dist/ and contrib/. You also need to comment the non-existent-dir example to avoid warning.
vi /opt/solr/collection1/conf/solrconfig.xml
<!-- modify the path as following -->
...
<lib dir="../contrib/extraction/lib" regex=".*\.jar" />
<lib dir="../dist/" regex="solr-cell-\d.*\.jar" />
 
<lib dir="../contrib/clustering/lib/" regex=".*\.jar" />
<lib dir="../dist/" regex="solr-clustering-\d.*\.jar" />
 
<lib dir="../contrib/langid/lib/" regex=".*\.jar" />
<lib dir="../dist/" regex="solr-langid-\d.*\.jar" />
 
<lib dir="../contrib/velocity/lib" regex=".*\.jar" />
<lib dir="../dist/" regex="solr-velocity-\d.*\.jar" />
...

4. 테스트


chown -R jetty:jetty /srv/solr


service jetty restart

여기서 부터 삽질을 조금 했다.


주로 firefox를 사용했는데 dashboard에 내용이 나오지 않는것이였다. 어딘가 설정이 틀린지 알고 한참을 이리 저리 셋팅했는데 ( 지금 보니 adblock 때문인듯하다..예외등록하니 잘 나온다.)


혹시나 하고 chrome으로 보니 잘 보인다. ㅡ.ㅡ;;  IE11에서도 잘나온다.....


중간에 삽질 조금한거 빼면 다음번엔 30분 내외로 설치가 가능할 것 같다.



CentOS 6.4에  APM을 컴파일 설치를 해야 했다.


apache 2.4.4

PHP : 5.4.15

Mysql : 5.6.11


아파치를 yum으로 설치 해도 된다면 php와 mysql은 IUS Community Repo 를 설치 하면


php 와 mysql은 비교적 최근 버전으로 간단히 설치가 가능하다. - php 5.4.14, mysql 5.5.31


하지만 아파치 2.4 버전은 컴파일 말고는 방법을 찾을 수가 없었다.



CentOS 6.4는 minimal 버전으로 설치를 하고 진행을 하였다.

개발툴은 일단 설치를 하고 시작하자

yum groupinstall "Development Tools"


mysql은 rpm을 다운받아서 설치가 가능하다. 컴파일 안해도 되면 하지 않는게 정신건강에 좋다.


How to Install MySQL 5.6 on CentOS 6.3/RedHat EL6/Fedora


5.1.6  라이브러리를 삭제해야 설치하면서 문제가 없다.


yum remove mysql-libs


이과정에서 crontabs가 삭제되니 mysql 설치 완료후 재 설치를 해야한다.


PHP컴파일 할때 필요한 mysql-devel 패키지도 설치를 해야한다.



PowerStack 을 사용하자 정신건강에 매우 이롭다. 아파치 2.4를 고집하지 않으면 편하다.

httpd 2.2.4 php 5.4.15, mysql 5.6.11


http://wiki.powerstack.org/PowerStack


하지만 나는 2.4가 필요하자나?  아마 삽질할꺼야..


아파치와 php는 컴파일을 해야한다.


기존 라이브러리 제거, 필요한 라이브러리 추가

yum remove apr apr-util
yum -y install pcre-devel openssl openssl-devel  gdbm-devel gmp-devel readline-devel libxml2-devel bzip2-devel


모든 소스는 /usr/local/src에 다운받는다.


아파치 2.4.4를 위한 준비 다운받고 박스안의 명령어만 ctrl+c & ctrl-v 해주면 된다.


Apr-1.4.6

Apr-Util-1.5.2


본격적인 아파치 설치


Apache-2.4.4


다른 문서를 검색해보고 컴파일 해보면 /usr/local/apach2 이런식으로 설치가 되는데 위의 문서처럼 레이아웃을 패치하면 yum으로 설치 한것과 비슷하게 인스톨 해줘서 편리하다.


BLFS Boot Scripts 을 설치하면 service httpd start 이렇게 사용가능하다.


make install-httpd


lsb를 설치 해야 에러가 나지 않는다.

yum install lsb


service httpd status 는 statusproc가 없다고 에러메시지가 나오는데 해결방법을 못찾았다.


아파치를 구동하고 테스트를 해본후 이상이 없으면 아파치 정지!!


PHP를 설치 하자.


PHP-5.4.11


문서는 5.4.11 이고 현재 stable 버전은 5.4.15이다. 버전 숫자만 수정해주면 정상적으로 설치가 가능하다.


PHP 연동 가능하게 설정을 하고 아파치를 재시작하면 에러가 발생한다.


아파치의 mpm모드 때문이다.


/etc/httpd/httpd.conf 파일을 열어서 event 모듈을 prefork 모듈로 변경한다.


#LoadModule mpm_event_module /usr/lib/httpd/modules/mod_mpm_event.so
LoadModule mpm_prefork_module /usr/lib/httpd/modules/mod_mpm_prefork.so


모듈 마지막줄에 자동 추가된 libphp5.so의 경로를 확인한다.

LoadModule php5_module /usr/lib/httpd/modules/libphp5.so



설치 완료!


고맙다 Beyond Linux® From Scratch 

이렇게 완벽한 문서는 처음이다.



ps. php에서 ip로는 접속이 되는데 localhost로는 안된다.

mysql으로 powerstack으로 재설치 -> 안된다. php 컴파일 새로 해야할듯


성공한 PHP 컴파일 옵션 powerstack의 옵션을 약간 수정했다.

mysql에서 문제가 없으며 /etc/php.d에서 추가 옵션을 로딩한다.

./configure --host=x86_64-redhat-linux-gnu \
        --build=x86_64-redhat-linux-gnu \
        --program-prefix= \
        --prefix=/usr \
        --exec-prefix=/usr \
        --bindir=/usr/bin \
        --sbindir=/usr/sbin \
        --sysconfdir=/etc \
        --datadir=/usr/share \
        --includedir=/usr/include \
        --libdir=/usr/lib64 \
        --libexecdir=/usr/libexec \
        --localstatedir=/var \
        --sharedstatedir=/var/lib \
        --mandir=/usr/share/man \
        --infodir=/usr/share/info \
        --cache-file=../config.cache \
        --with-libdir=lib64 \
        --with-config-file-path=/etc \
        --with-config-file-scan-dir=/etc/php.d \
        --disable-debug \
        --with-pic \
        --disable-rpath \
        --without-pear \
        --with-bz2 \
        --with-exec-dir=/usr/bin \
        --with-freetype-dir=/usr \
        --with-png-dir=/usr \
        --with-xpm-dir=/usr \
        --enable-gd-native-ttf \
        --without-gdbm \
        --with-gettext \
        --with-gmp \
        --with-iconv \
        --with-jpeg-dir=/usr \
        --with-openssl \
        --with-pcre-regex=/usr \
        --with-zlib \
        --with-layout=GNU \
        --with-mysql \
        --with-pdo-mysql \
        --with-pdo-sqlite \
        --enable-exif \
        --enable-ftp \
        --enable-magic-quotes \
        --enable-sockets \
        --with-kerberos \
        --enable-ucd-snmp-hack \
        --enable-shmop \
        --enable-calendar \
        --enable-mbstring \
        --without-sqlite \
        --with-libxml-dir=/usr \
        --enable-xml \
        --with-system-tzdata \
        --with-apxs2=/usr/bin/apxs \
        --without-gd \
        --disable-dom \
        --disable-dba \
        --without-unixODBC \
        --without-pspell \
        --disable-wddx \
        --without-curl






yum 으로 설치된 subversion의 버전은 1.4 버전대라서 업그레이드 하려고 찾아보니

rpm으로 되어 있는걸 받아서 설치 해야 하는데 어딘가 가입해야 하고 그러는게 번거롭다고 생각되서 컴파일 해보기로 하고 찾아보니 간단하게 될것 같아서 해보니까 쉽네요.

컴파일 환경은 잡혀 있다고 생각하고

소스 받아서 압축 풀기
cd /usr/local/src/
wget http://subversion.tigris.org/downloads/subversion-1.6.15.tar.gz
wget http://subversion.tigris.org/downloads/subversion-deps-1.6.15.tar.gz
tar xvzf subversion-1.6.15.tar.gz
tar xvzf subversion-deps-1.6.15.tar.gz
cd subversion-1.6.15
컴파일
./configure --prefix=/usr/local/subversion --with-ssl
make && make install
/usr/local/subversion/ 에 설치가 되는데 이걸 PATH에 추가 합니다.

vim /etc/profile

중간에
# Path manipulation
if [ "$EUID" = "0" ]; then
        pathmunge /sbin
        pathmunge /usr/sbin
        pathmunge /usr/local/sbin
        pathmunge /usr/local/subversion/bin
fi
저장하고나서
source /etc/profile
svn --version
설치 버전이 확인되는군요.
svn, 버젼 1.6.15 (r1038135)
    Dec 31 2010, 01:00:54에 컴파일 됨
한참 자료 찾아다녔는데 해보니 간단하네요.


ps. 뭐가 잘못되었는지 웹서버 재시동시 에러가 나는군요.

Cannot load /usr/lib/httpd/modules/mod_dav_svn.so into server: /usr/local/subversion/lib/libsvn_subr-1.so.0: undefined symbol: apr_hash_clear
분명 모듈은 제대로 들어간것 같은데 구글링해봐도 문제점이 있다는건 보이는데  해결책은 딱히 안보입니다.
일단은 httpd.conf에서 해당 모듈부분을 주석처리하고 사용하고있지만
차후에 웹서버와 연동하려고 한다면 해결책을 찾아야 할텐데..그건...나중에..필요하면...차후에..ㅡ.ㅡ;;;

윈도우에 MRTG를 설치 해서 사용할때는 별 문제가 없었는데

CentOS 5.5 에 MRTG를 설치하고 사용하려고 해보니 한글이 깨져보이는 문제가 생겼다.

검색해보니 아파치의 AddDefaultCharset 이 범인!

off 하고 아파치를 재구동하니 한글이 깨끗하게 나온다.

/etc/httpd/conf/http.conf

AddDefaultCharset UTF-8  기본값으로 이렇게 되어 있는부분을
AddDefaultCharset off 로 설정한다.