rake aborted! This installation of RMagick was configured with ImageMagick 6.7.5 but ImageMagick 6.7.7-10 is in use.
위 메시지는 imagemagick 를 설치하지 않으면 통과한다.
그러나 다른 문제가.
http://www.jenkins.or.kr/boards/4/topics/225?r=274 에서 언급된 문제.
plugins/redmine_ckeditor# bundle install --without development test
Fetching gem metadata from https://rubygems.org/............ Fetching gem metadata from https://rubygems.org/.. Resolving dependencies................................... Bundler could not find compatible versions for gem "mime-types": In Gemfile: rich (= 1.4.6) ruby depends on mime-types (~> 1.16) ruby
rich (= 1.4.6) ruby depends on mime-types (2.2)
Bundler could not find compatible versions for gem "activesupport": In Gemfile: rich (= 1.4.6) ruby depends on activesupport (= 4.0.0) ruby
paperclip (~> 3.5.4) ruby depends on activesupport (3.0.0)
checking for Ruby version >= 1.8.5... yes checking for gcc... yes checking for Magick-config... no Can't
install RMagick 2.13.2. Can't find Magick-config in
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games
*** extconf.rb failed *** Could not create Makefile due to some reason, probably lack of necessary libraries and/or headers. Check the mkmf.log file for more details. You may need configuration options.
Gem files will remain installed in /var/lib/gems/1.9.1/gems/rmagick-2.13.2 for inspection. Results logged to /var/lib/gems/1.9.1/gems/rmagick-2.13.2/ext/RMagick/gem_make.out
An error occurred while installing rmagick (2.13.2), and Bundler cannot continue. Make sure that `gem install rmagick -v '2.13.2'` succeeds before bundling.
App 31726 stdout: App 31726 stdout: [
2014-06-11 03:30:47.1599 31473/7f601e1ef700
Pool2/Implementation.cpp:883 ]: Could not spawn process for group
/opt/redmine-2.5.1-0/apps/redmine/htdocs#default: An error occured while
starting up the preloader. in 'void
Passenger::ApplicationPool2::SmartSpawner::handleErrorResponse(Passenger::ApplicationPool2::SmartSpawner::StartupDetails&)'
(SmartSpawner.h:455) in 'std::string
Passenger::ApplicationPool2::SmartSpawner::negotiatePreloaderStartup(Passenger::ApplicationPool2::SmartSpawner::StartupDetails&)'
(SmartSpawner.h:566) in 'void Passenger::ApplicationPool2::SmartSpawner::startPreloader()' (SmartSpawner.h:206)
in 'virtual Passenger::ApplicationPool2::ProcessPtr
Passenger::ApplicationPool2::SmartSpawner::spawn(const
Passenger::ApplicationPool2::Options&)' (SmartSpawner.h:752)
in 'void Passenger::ApplicationPool2::Group::spawnThreadRealMain(const
Passenger::ApplicationPool2::SpawnerPtr&, const
Passenger::ApplicationPool2::Options&, unsigned int)'
(Implementation.cpp:804)
[ 2014-06-11 03:30:47.1603 31473/7f6017fff700 agents/HelperAgent/RequestHandler.h:2210 ]: [Client 23] Cannot checkout session. Error page: <p>It
looks like Bundler could not find a gem. Maybe you didn't install all
the gems that this application needs. To install your gems, please
run:</p>
<pre class="commands">bundle install</pre>
<p>If
that didn't work, then the problem is probably caused by your
application being run under a different environment than it's supposed
to. Please check the following:</p>
<ol> <li>Is this app supposed to be run as the <code>daemon</code> user?</li> <li>Is this app being run on the correct Ruby interpreter? Below you will see which Ruby interpreter Phusion Passenger attempted to use.</li> </ol>
<p>-------- The exception is as follows: -------</p> Could not find rake-10.1.1 in any of the sources (Bundler::GemNotFound) <pre>
/opt/redmine-2.5.1-0/ruby/lib/ruby/gems/1.9.1/gems/bundler-1.5.3/lib/bundler/spec_set.rb:92:in
`block in materialize' /opt/redmine-2.5.1-0/ruby/lib/ruby/gems/1.9.1/gems/bundler-1.5.3/lib/bundler/spec_set.rb:85:in `map!' /opt/redmine-2.5.1-0/ruby/lib/ruby/gems/1.9.1/gems/bundler-1.5.3/lib/bundler/spec_set.rb:85:in `materialize' /opt/redmine-2.5.1-0/ruby/lib/ruby/gems/1.9.1/gems/bundler-1.5.3/lib/bundler/definition.rb:133:in `specs' /opt/redmine-2.5.1-0/ruby/lib/ruby/gems/1.9.1/gems/bundler-1.5.3/lib/bundler/definition.rb:178:in `specs_for' /opt/redmine-2.5.1-0/ruby/lib/ruby/gems/1.9.1/gems/bundler-1.5.3/lib/bundler/definition.rb:167:in `requested_specs' /opt/redmine-2.5.1-0/ruby/lib/ruby/gems/1.9.1/gems/bundler-1.5.3/lib/bundler/environment.rb:18:in `requested_specs' /opt/redmine-2.5.1-0/ruby/lib/ruby/gems/1.9.1/gems/bundler-1.5.3/lib/bundler/runtime.rb:13:in `setup' /opt/redmine-2.5.1-0/ruby/lib/ruby/gems/1.9.1/gems/bundler-1.5.3/lib/bundler.rb:119:in `setup' /opt/redmine-2.5.1-0/ruby/lib/ruby/gems/1.9.1/gems/bundler-1.5.3/lib/bundler/setup.rb:17:in `<top (required)>' /opt/redmine-2.5.1-0/ruby/lib/ruby/site_ruby/1.9.1/rubygems/custom_require.rb:60:in `require' /opt/redmine-2.5.1-0/ruby/lib/ruby/site_ruby/1.9.1/rubygems/custom_require.rb:60:in `rescue in require' /opt/redmine-2.5.1-0/ruby/lib/ruby/site_ruby/1.9.1/rubygems/custom_require.rb:35:in `require'
/opt/redmine-2.5.1-0/ruby/lib/ruby/gems/1.9.1/gems/passenger-4.0.40/lib/phusion_passenger/loader_shared_helpers.rb:245:in
`block in run_load_path_setup_code'
/opt/redmine-2.5.1-0/ruby/lib/ruby/gems/1.9.1/gems/passenger-4.0.40/lib/phusion_passenger/loader_shared_helpers.rb:348:in
`running_bundler'
/opt/redmine-2.5.1-0/ruby/lib/ruby/gems/1.9.1/gems/passenger-4.0.40/lib/phusion_passenger/loader_shared_helpers.rb:243:in
`run_load_path_setup_code' /opt/redmine-2.5.1-0/ruby/lib/ruby/gems/1.9.1/gems/passenger-4.0.40/helper-scripts/rack-preloader.rb:100:in `preload_app'
/opt/redmine-2.5.1-0/ruby/lib/ruby/gems/1.9.1/gems/passenger-4.0.40/helper-scripts/rack-preloader.rb:158:in
`<module:App>'
/opt/redmine-2.5.1-0/ruby/lib/ruby/gems/1.9.1/gems/passenger-4.0.40/helper-scripts/rack-preloader.rb:29:in
`<module:PhusionPassenger>'
/opt/redmine-2.5.1-0/ruby/lib/ruby/gems/1.9.1/gems/passenger-4.0.40/helper-scripts/rack-preloader.rb:28:in
`<main>'</pre>
뭔가 되는 듯 싶더니, Passenger 가 정상 로드되지 못하는 듯 하다.
bitnami 의 실행스크립트 ./ctlscript.sh restart 로 재시작 해준다.
Package gtk+-2.0 was not found in the pkg-config search path. Perhaps you should add the directory containing `gtk+-2.0.pc' to the PKG_CONFIG_PATH environment variable No package 'gtk+-2.0' found sublime-imfix.c:9:21: fatal error: gtk/gtk.h: 그런 파일이나 디렉터리가 없습니다 #include <gtk/gtk.h> ^ compilation terminated.
2. 컴파일이 어려우면 git clone 위치에 lib 에 컴파일된 버전이 있다. 그것을 사용해도 된다.
위 핵심은 libsublime-imfix.so 를 먼저 로딩후에 sublime text 3 를 실행시키는 것이다.
간혹 euc-kr 파일을 편집할 필요가 있는 경우 convertToUTF8 패키지를 설치해 해결한다.
혹시 설치 후 다음과 같은 에러를 만나면(우분투/맥OS 에만 해당하는 듯 하다)
Oops! The file {열려고하는 파일} is detected as EUC-KR which is not supported by your Sublime Text.
Please
check whether it is in the list of Python's Standard Encodings
(http://docs.python.org/library/codecs.html#standard-encodings) or not.
If
yes, please install Codecs33
(https://github.com/seanliang/Codecs33/tree/linux-x64) and restart
Sublime Text to make ConvertToUTF8 work properly. If it is still not
working, please kindly send the following information to
sunlxy#yahoo.com: ====== Debug Information ====== Version: 3059-x64 Platform: Linux-3.13.0-27-generic-x86_64-with-debian-jessie-sid ......... Encoding: EUC-KR
package control 으로 설치하면 InputHelper.sublime-package 가 해당 폴더에 저장된다.
저 파일을 zip 파일로 풀어서 {HOME} / .config/sublime-text-3/Packages/InputHelper 폴더로 복사한다.
실행시 다음과 같은 에러가 나오면 ( ST3 의 ctrl-` 를 해보면 보인다)
Traceback (most recent call last): File "..../sublime_plugin.py", line 549, in run_ return self.run(edit) File "{HOME}/.config/sublime-text-3/Packages/InputHelper/inputhelper.py", line 21, in run proc = subprocess.Popen(args, stdout=subprocess.PIPE) File "X/subprocess.py", line 818, in __init__ File "X/subprocess.py", line 1416, in _execute_child PermissionError: [Errno 13] Permission denied
sublime-ibus-agent.py: Traceback (most recent call last): File "{HOME}/.config/sublime-text-3/Packages/SublimeIBus/sublimeibus/sublime-ibus-agent.py", line 575, in __stdin_cb exec(expr) File "<string>", line 1, in <module> File "{HOME}/.config/sublime-text-3/Packages/SublimeIBus/sublimeibus/sublime-ibus-agent.py", line 512, in disable imcontexts[id_no].disable() AttributeError: 'IBusELInputContext' object has no attribute 'disable'
패키지 목록을 읽는 중입니다... 완료 의존성 트리를 만드는 중입니다 상태 정보를 읽는 중입니다... 완료 다음 패키지를 더 설치할 것입니다: libmariadbclient18 libmysqlclient18 mariadb-client-5.5 mariadb-client-core-5.5 mariadb-common mariadb-server-5.5 mariadb-server-core-5.5 mysql-common
제안하는 패키지: tinyca mailx mariadb-test
다음 패키지를 지울 것입니다: mysql-client-5.5 mysql-client-core-5.5 mysql-server mysql-server-5.5 mysql-server-core-5.5
다음 새 패키지를 설치할 것입니다: libmariadbclient18 mariadb-client-5.5 mariadb-client-core-5.5 mariadb-common mariadb-server mariadb-server-5.5 mariadb-server-core-5.5
다음 패키지를 업그레이드할 것입니다: libmysqlclient18 mysql-common
2개 업그레이드, 7개 새로 설치, 5개 제거 및 3개 업그레이드 안 함. 31.7 M바이트 아카이브를 받아야 합니다. 이 작업 후 17.6 M바이트의 디스크 공간을 더 사용하게 됩니다. 계속 하시겠습니까 [Y/n]?
위와 같이 패키지를 지울것이라는 무서운 문구.
어떡하지. 무서우면 n 으로 중지. 그러나 우린 용감하잖아요. 과감하게 엔터를 누릅니다. 내 데이터. 또 설정바꿔줘야 하나. ㅠㅠ
그러면 설치하는 화면이 나온다 중간에 기존 mysql 도 지우는 것도 보이고
좀 지나면 mariadb 계정 암호 넣는 화면이 나온다.(mysql 설치할때 나오던 그대로)
그런데, 중간에 좀 이상한 것이 있다.
* Stopping MariaDB database server mysqld [ OK ]
131108 0:57:51 [Warning] Using unique option prefix myisam_recover instead of myisam-recover-options is deprecated and will be removed in a future release. Please use the full name instead.
131108 0:57:51 [Note] Plugin 'InnoDB' is disabled.
131108 0:57:51 [Note] Plugin 'FEEDBACK' is disabled.
* Starting MariaDB database server mysqld [ OK ]
* Checking for corrupt, not cleanly closed and upgrade needing tables.
어! 뭐지 정상적인건가?
3. 내 데이터. 솨라있네~~
위까지 하고 다른 설정을 건드리지 않고, 바로 phpMyAdmin 을 살펴봤다.
어. 서버 버전 부분만 mariaDB 로 바뀌고 다른 부분은 똑같다.
신기하다. 너무 똑 같아서. 웹서비스들도 잘 동작한다.(처음에 살짝 느린감이 있었는데, 아마 캐시때문?)
mysql console 도 명령은 동일한것 같다. (아래처럼 바뀌어 있다)
# mysql --version
mysql Ver 15.1 Distrib 5.5.33a-MariaDB, for debian-linux-gnu (x86_64) using readline 5.1
# mysql -p
Enter password:
Welcome to the MariaDB monitor. Commands end with ; or \g.
Your MariaDB connection id is 115
Server version: 5.5.33a-MariaDB-1~raring-log mariadb.org binary distribution
Copyright (c) 2000, 2013, Oracle, Monty Program Ab and others.
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
Last_IO_Error: Got a packet bigger than 'max_allowed_packet' bytes
이런 항목이 있다.
# 현재값 확인
mysql> show variables like 'max_allow%';
+--------------------+---------+ | Variable_name | Value | +--------------------+---------+ | max_allowed_packet | 1048576 | +--------------------+---------+ 1 row in set (0.00 sec)
1048576 이면 1M 정도밖에 안되는 듯 하다.
# 다음 옵션으로 설정
set global net_buffer_length=1000000;
set global max_allowed_packet=1000000000;
# my.cnf 에 설정
[mysqld]
max_allowed_packet = 10M
=> max_allowed_packet 설정 값만 처리하면 될까?
10M 정도면 충분할까?
일단 설정은 했는데. show slave status\G 로 보면 다음과 같은 메시지가 나온다.
Last_Error: Relay log read failure: Could not parse relay log event entry. The possible reasons are: the master's binary log is corrupted (you can check this by running 'mysqlbinlog' on the binary log), the slave's relay log is corrupted (you can check this by running 'mysqlbinlog' on the relay log), a network problem, or a bug in the master's or slave's MySQL code. If you want to check the master's binary log or slave's relay log, you will be able to know their names by issuing 'SHOW SLAVE STATUS' on this slave.
# Dynamic resolv.conf(5) file for glibc resolver(3) generated by resolvconf(8) # DO NOT EDIT THIS FILE BY HAND -- YOUR CHANGES WILL BE OVERWRITTEN
요약하면, resolvconf 가 먼저 접수했다. 만지지마!! 암튼. resolv.conf 를 건드리는 패키지가 dhcp client 였나 그게 그랬던것 같다.
직접 수정해도 되지만, 재부팅하면 다시 비워져 있을 것이다.
/run/resolvconf/resolv.conf 에 심볼릭 링크되어 있다. resolvconf 패키지가 부팅하면서 저 파일을 생성하고, symlink 시킨다.
부팅해도 설정 안 바뀌게 하려면.
/etc/resolvconf/ 이 폴더에 뭐가 있지 않을까?
cat /etc/resolvconf/resolv.conf.d/head # Dynamic resolv.conf(5) file for glibc resolver(3) generated by resolvconf(8) # DO NOT EDIT THIS FILE BY HAND -- YOUR CHANGES WILL BE OVERWRITTEN
어! 여기에 같은 내용이 들어 있네.
저기에 넣으면 부팅할때 그대로 있지 않을까? 해보자.
nameserver 8.8.8.8 nameserver 164.124.101.2
등 넣고 싶은 네임서버를 넣어준다.
그리고 재부팅해볼까? 싫어 명색이 서버인데, 재부팅은
그냥
# service resolvconf restart
또는 /etc/init.d/resolvconf restart
역시 예상대로 /etc/resolv.conf 가 head 에 넣은대로 되었다.
다른파일도 있는데, head , base 이렇게 있다. 말뜻이 뭔가 구분을 한것 같은데, head 가 아니라 base 에 넣어야 할 것 같아서 바꿔서 넣었다.
그런데, 불편한 메시지가 나온다. Pseudo-terminal will not be allocated because stdin is not a terminal
항상 나오는 것은 아니고, 단일명령을 주면 나오지 않는다. command.sh 에 실행명령을 작성하고, ssh {host} < command.sh 형식으로 할때 메시지가 나온다.
그런경우 ssh -t -t (두번) 옵션을 주어 실행하면 된다.
근데, 실행명령이 다 보인다.
이때는 ssh -T 옵션을 준다.
그런데, 또 불편한 메시지가 보인다. TERM environment variable not set.
ssh 실행시 해당 TERM 환경변수가 설정되지 않아서 그렇다. 타겟서버의 .ssh/environment 파일에(보통 파일이 없다. 그래서 새로 만들고) BASH_ENV=.profile 을 추가해준다. (경우에 따라서 .profile 을 .bash_profile 로 변경)
진한 부분의 옵션이 중요하다. 저 옵션이 있어야, master 로그 포지션이 기록된다.
1 은 명령으로 dump , 2 는 기록은 되는데, 코멘트로 덤프됨( -- CHANGE ... 처럼)
둘중 어느것으로 해도 상관없음.
slave 에서 직접 CHANGE MASTER ... 명령을 내리느냐 restore 시 같이 하느냐 그 차이.
# slave 쪽 : 위치에 맞게 restore.
slave 에서 데이터를 업데이트한후(stop slave; 를 먼저 한 상태) 다음명령으로 위치를 잡아준다
아래 위치는 덤프파일을 앞 부분을 보면 나온다. ( head slave.dump.sql -n 30 정도면 나온다)
CHANGE MASTER TO MASTER_LOG_FILE='mysql-bin.000200', MASTER_LOG_POS=200500;
요즘 jquery 가 대세인듯 하다. js 프레임웍의 편리함을 한번 맛보면 벗어날 수 없다.
우선 결론을 말하면 "IE 야! 제발 쫌" 버그라고 말해야 겠다.
다양하게 확인을 하지는 않았지만, IE9 는 제대로 동작을 하는 듯 하다.
IE8 포함 이전버전에서는 오동작을 한다.
jquery 새버전에서는 될지도 모르겠다. jquery 테스트 버전은 1.4.2 이다.
그런데, 저렇게 처리하면 IE 에서 이상하게 동작한다는 것을 느낄 것이다.
text 입력창에 값을 입력하고 out focus 되면 onchange 이벤트가 발생해야 하는데, 발생하지 않는다.
input 태그에 직접 onchange 를 쓴경우 정상적으로 발생하는데, jquery 의 ready 를 사용하면 안된다.
한번 focus 되고 나서, 다시 해볼때는 정상적으로 된다.
set $fastcgi_script_realname $fastcgi_script_name;
if ( $fastcgi_script_name ~ ^(.*\.php)(/.*)$ ) {
set $fastcgi_script_realname $1;
set $path_info $2;
}
if (!-f $document_root$fastcgi_script_realname) {
return 404;
}
또는 /etc/php.ini 설정을 바꿔준다.
cgi.fix_pathinfo=0
nginx 에서 php-fpm 으로 넘기기전에 막아주는 것이 좋을 듯 하니 첫번째 방법이 좋을 듯 하다.
참조 : CI 에서는 다음처럼 rewrite 룰을 적용했다.
if (!-f $request_filename) {
rewrite ^/CI_forum/(.+)$ /CI_forum/index.php/$1 last;
}
> server ns.domain.com
> zone domain.com
> update add some.domain.com. 86400 A 192.168.10.10
> show
> send
위 명령들을 파일로 만들어서 일괄처리할 수 있다.
DDNS 는 IP 가 동적으로 변경하는 환경 또는 서버의 Failover 처리등을 위해 사용하면 편리하다.
nsupdate 로 변경된 zone 파일은 직접 수정하지 않는것이 좋다.
named 에서 {zone file}.jnl 에 해당하는 임시파일을 만들고 추후 실제 zone 파일을 업데이트하기 때문에
zone 파일을 직접수정하면 수정한 부분이 사라질 수 있다.
직접 수정하려면 다음 방법중 하나를 사용한다.
# 방법1 - 9.3 이전버전
rndc stop
remove the journal file (.jnl)
edit the zone
start named
# 방법2 - 새버전 9.3
rndc freeze zone
edit the zone
rndc unfreeze zone
# 기본 mysql replication 설정.(마스터-슬레이브) 1. mysql config 설정
master , slave 각각 config 파일에 replication 설정을 해준다.
우분투의 경우 /etc/mysql/conf.d 에 replication_slave.cnf (파일명은 임의로 )
/etc/mysql/my.cnf 의 마지막줄에 이렇게 되어 있어서 불러오게 된다