ubuntu 16.04 버전을 사용하고 있습니다!



데이터베이스에 들어있는 데이터들을 뿌려주려고하니

한글들이 ?? 물음표로 나옴;

나도 당황.. 물음표..



1. ssh로 서버에 접속하셔서(http://hplayground.tistory.com/78 참고)

sudo vim /etc/mysql/mysql.conf.d/mysqld.cnf

vim 에디터로 mysqld.cnf를 열어준다.


구글링 하다보면

/etc/my.cnf 로 열어서 수정하라고 하는데

뭐지 나는 etc폴더 안에 my.cnf 파일이 업승ㅁ;;

열심히 삽질해본 결과 mysql.conf.d 안에 mysqld.cnf 를 수정하면 된다고 한다.



2.

[client]
default-character-set=utf8

[mysqld]
character-set-server=utf8
collation-server=utf8_general_ci
init_connect=SET collation_connection=utf8_general_ci
init_connect=SET NAMES utf8

[mysql]
default-character-set=utf8

주석같은거 모두 지나서 맨 아랫줄에

위 코드를 붙여넣기한다.

참고로 vim에서 쓰기모드로 바꾸려면 a키를 누르고 쓰면된다.

그리고 :wq 를 써서 저장하고닫기


3.

sudo service mysql restart

mysql을 다시 시작해주면 된다 눈누난나~

그 유명한 aws.. 처음써봤다

아마존리눅스에서 라라벨을 설치했을때는 자꾸 

아파치 설치 잘됐다는 페이지만 보이고

아무리 httpd.conf 를 건드려도, vhost의 documentroot를 건드려도 라라벨 글자가 나올 생각을 안했다.

그래서 우분투로 넘어왔다..개빡!


아래도 우분투로 설치하면서 중간중간 오류난것들을 해쳐나가는 방법이다.






1. 아마존의 EC2 인스턴스를 생성한다.

http://pyrasis.com/book/TheArtOfAmazonWebServices/Chapter04/03

위 사이트를 참고하여 만들었다.

단계별로 쭉 따라가다가 아마존 리눅스 말고 우분투를 선택하고 나머지 단계와 동일하게 따라갔다.


2. 터미널에

ssh -i pem파일 ubuntu@public ip

로 연결한다!


ssh접속 관련 포스트(짧음)는

http://hplayground.tistory.com/78

를 참조!


참고로 우분투는 ec2-user@ip 가 아니라 ubuntu@ip 로 접속해야 된다




3. 터미널에 아래와 같이 업데이트와 업그레이드를 해준다

참고로 아마존리눅스에서는 apt-get이 아니라 yum으로 해줌

sudo apt-get update
sudo apt-get upgrade


4. 아파치를 설치한다.

Y/n 으로 묻는곳엔 Y 치고 엔터

sudo apt-get install apache2


5. mysql을 설치한다.

Y/n 으로 묻는곳엔 Y 치고 엔터

sudo apt-get install mysql-server mysql-client

   

위와같이 mysql의 패스워드를 입력하는 곳이있으면

적절히 패스워드를 치고 엔터엔터 누르면 mysql도 깔린다.

참고

sudo apt-get install phpmyadmin 을 설치할거라면

위에 입력했던 비밀번호를 phpmyadmin을 설치할때도 똑같이 입력해야 한다.



6. php를 설치한다.

현재 (2016.11.03)를 기준으로 우분투를 설치하면 16.04LTS 버전인데

이 우분투에서는 아래의 명령어를 날리면 php7이 깔린다.

sudo apt-get install php libapache2-mod-php php-gd php-xml php-mysql


7. php가 잘작동하나 일단 확인해본다

cd /var/www/html

를 입력해서 폴더이동 후

sudo vim phpinfo.php

명령어를 날려 phpinfo.php파일을 생성하고, vim에디터에 a키를 눌러 입력모드로 전환한 후에

<?php phpinfo(); ?>

를 적고 esc를 누르고 :wq 를 적는다.


그다음 브라우저에

http://52.00.000.00/phpinfo.php

참고

52.00.000.00는 자신의 public id 

를 들어가보면


이런 페이지를 볼 수 있다


또다른 참고로

filezilla 연결할땐

chown -R ec2-user /var/www/html
chmod -R 755 /var/www/html





여기까지가 APM 설치과정!

아래부터 라라벨을 설치하는 과정이다






8. 이제 라라벨을 설치하기 위해 composer를 설치한다!

cd ~
sudo curl -sS https://getcomposer.org/installer | php

~/로 이동하고나서 composer.phar를 받아온다


sudo mv composer.phar /usr/local/bin/composer
sudo ln -s /usr/local/bin/composer /usr/bin/composer

그리고 순서대로 이렇게 하고나서

sudo composer install

를 하면

Do not run Composer as root/super user! 오류가 난다ㅋㅋㅋㅋㅋ

이럴땐

http://zetawiki.com/wiki/Composer_root_%EA%B2%BD%EA%B3%A0%EB%A9%94%EC%8B%9C%EC%A7%80_%ED%95%B4%EC%A0%9C

위 사이트 참고!

export COMPOSER_ALLOW_SUPERUSER=1 부터 영구적용까지 몽땅 한다


아 근데 사실 composer를 사용해도 뭐 라라벨이 깔릴 생각을 안한다 개빡!

그래서

cd /var/www/html

로 이동해서

sudo git clone https://github.com/laravel/laravel.git

그냥 git으로 clone 받아왔다

그러면 /var/www/html 안에 laravel 폴더로 생기는데

DocumentRoot를 laravel/public으로 바꿔줘야 한다.

그래서

cd /etc/apache2/sites-available/
sudo vim 000-default.conf

vim으로 000-default.conf를 열어서 DocumentRoot를

/var/www/html -> /var/www/html/laravel/public

으로 바꾸고 저장, 닫기

sudo service apache2 start
또는
sudo service apache2 restart

로 아파치를 재가동 시킨다




9. 일단 이쯤에서 한번 라라벨을 가동시켜본다
php artisan serve

PHP Warning:  require(/var/www/html/laravel/bootstrap/../vendor/autoload.php): failed to open stream: No such file or directory in /var/www/html/laravel/bootstrap/autoload.php on line 17

오류난다ㅎㅎ 

구글링해보니까 composer update나 composer install 를 하란다.

composer install

또는

composer update

Cannot create cache directory /home/ubuntu/.composer/cache/repo/https---packagist.org/, or directory is not writable. Proceeding without cache

Cannot create cache directory /home/ubuntu/.composer/cache/files/, or directory is not writable. Proceeding without cache

또 오류남ㅎㅎ

뭐 생성할수 없다는것같은데 느낌에 권한문제 같았다

하지만 sudo를 쓰면 또 super user!오류난다

sudo chown -R $USER $HOME/.composer

위 명령어를 날리고 composer install를 하면

 [RuntimeException]                                                     

  /var/www/html/laravel/vendor does not exist and could not be created.

에러가 뜬다

그럼 https://github.com/panique/huge/issues/392 요거 참고해서 오류 픽스하고 다시 composer install를 한다.


그리고 아래와같이 storage와 bootstrap/cache의 권한을 777로 바꿔주고

서버를 켜준다.

sudo chmod -R 777 storage bootstrap/cache
php artisan serve



10. 

http://52.00.000.00 에 접속하면

Whoops, looks like something went wrong 오류가 난다.

그러면

cd /var/www/html/laravel/config

sudo vim app.php

에서 debug => APP_DEBUG 이 부분이 false로 되어있을텐데 이걸 true로 바꾸고 저장,닫기


cd /var/www/html/laravel
sudo vim .env

위처럼 .env를 생성 및 편집기로 열어서


APP_ENV=local
APP_DEBUG=true
APP_KEY=S043rl4v4ABY6PvkTejMejtsLIRipr2d

위의 내용을 고대로 복붙 해주고 :wq





드디어 끝!

이제 다시 브라우저에서 접속하면

이 화면을 볼 수 있다! 예헤

'Programming > PHP' 카테고리의 다른 글

[laravel] welcome.blade.php? blade view  (0) 2016.04.25
[laravel] mac에서 라라벨 설치하고 실행하기  (0) 2016.04.20

이미 파져있는 aws말고

드디어 처음부터 가입해서 신용카드연결하고 서버를 파봤다


ec2팔때 키 인증서?라고해야되나.. 여튼 그거 주는데

터미널에서 ssh연결할 때 인증서 경로를 입력해서 길게 적어야 하는데 여간 귀찮은게 아니다

예전 회사 옆에 계신 갓상사님께서 막 쏼라쏼라 터미널 켜서 vim켜서 뭐 빠르게 적으시고 닫으니까 그때부터 짧게 적어도 서버 접속이 되었던 기억이 났다.


예를들어

ssh -i hearu.pem ec2-user@00.00.000.00

뭐 이런식으로 길게 적어야 할것을

ssh hearu

위와 같이 짧게 입력하면 접속하는 방법!





1. 터미널을 키고.. 참고로 필자는 맥을 사용한다. 

sudo vim ~/.ssh/config

를 입력한다. 비밀번호요구하면 맥의 비밀번호를 치고



2. vim이 켜지면 hostName에는 public ip를, IdenityFile에는 인증서의 경로를 적는다.

경로 모르겠으면 finder에 있는 인증서를 터미널로 드래그해주면 알아서 경로 적힌다.


vim의 입력모드는 a키를 누르면 입력모드로 전환된다.

vim알못이라 다른 vim명령어는 구글링을 추천한다.


아 haeru에는 그냥 아무이름 적어줘도됨

Host test 라고 적으면 ssh test로 접속 되는거고

Host iphone으로 적으면 ssh iphone으로 접속됨

Host haeru

        HostName 00.00.000.00

        User ec2-user

        IdentityFile "/Users/haeru/Documents/haeru.pem"

위와같이 다 썼으면 esc키 누르고 :wq 치면 저장하고 vim이 닫힘



3. 이제부턴 터미널상에서 아무 경로에서나 ssh hearu 를 치면 서버에 접속됨

기본적으로 채팅을 구현하려면

소켓통신을 알아야하고 뭐 코드를 짜고 삽질을 해야한다 (예전 노드로 채팅을 짰을 때가 기억나는구려.. 씁)

여튼 그딴거 필요없이 그냥 구글아날리틱스처럼 자바스크립트 코드만 붙이면 짜잔~ 하고 채팅이 붙여지는 서비스가 있다.

이름하여 zopim

조핌이라고 읽어야하나

뭘봐 이 족팡매야 같다


https://www.zopim.com/






1. 먼저 회원가입을 해야함

바로 위 캡쳐사진참고하면서~

이름을 입력하고 이메일주소를 입력한 후 TRY ZOPIM 버튼을 누른다.



2.

그럼 저 아재가 담배를 피우다가 위처럼 가입해줘서 감사하다는 문구가 뜬다

그럼 입력한 이메일주소의 메일함을 가면



3.

위처럼 메일이 하나 와있는데

Verify Yout Email 버튼을 누른다.




4. 

나머지 정보를 입력하는데


먼저 password는 비밀번호

confirm password는 위에 썼던 비밀번호 그대로 다시 쓰고

company는 회사이름 아무렇게나 적었다..

phone number는 핸드폰번호

혹시몰라서 82-10-0000-0000 이런식으로 적었음

그다음 number of employees는 몇명의 상담사가 있냐는 말인거 같은데 그냥 대충 암거나 클릭했고

how do you plan to use zopim?은 족팡매 아니 조핌을 어떤식으로 사용할거냐고 묻는거라

그냥 첫번째 customer support를 클릭했다.(사용해보니 내가 고객지원 으로 뜨더이다..)


여튼 다 적었으면 save and go to dashboard



5.

웰컴투 조핌~


대충 넥스트넥스트 하고

< last name 요거도 적어주고 넥스트를 누르면
















6.

요기 자바스크립트 코드를 복사해서

내 웹사이트에 <head></head> 안에 붙여준다

그리고 go to visitor list 버튼을 클릭하면!




7.

일단 내 사이트 오른쪽 하단에 메시지 남기기 ㅂㅓ튼이 생김!



그리고 내 사이트상에서 메시지를 남기면 zopim 대시보드에 메시지가 왔다고 알람이 뜬다 요시!

ssh ftp아이디@ftp접속주소

1. 예를들면 ftp아이디가 test, ftp접속주소(사이트주소)가 test.com이면 

ssh test@test.com

명령어를 날리고


2. Are you sure you want to continue connecting (yes/no)?

라는 질문이 나오면 yes 를 적어준다

(처음 접속할때 나오는거라 함)


3. test@test.com's password: 

ftp 비밀번호를 적어주면


끝~



* 매번 ssh 아이디@접속주소 쓰기 귀찮을 때

http://hplayground.tistory.com/78

처음에 깃 생성하자 마자 로컬과 연결하기 위한 명령어는 깃헙이 친절하게 알려주는데

다른사람의 저장소에 접근하려니 갓 깃헙공부하는 나에겐 너무 어려웠다.

checkout 을 해야하는건 알겠는데

git checkout만 신나게 때려적었더니 fatal: Not a git repository 오류를 내뿜더다..

git checkout origin/master


요거 둘다 적어봐서 저장소에있던거 다운받아지면 성공

git checkout master

요거 둘다 적어봐서 저장소에있던거 다운받아지면 성공

참고로 origin/master던 master던 branch 이름을 적으면 되니까

만약 특정 branch를 다운받고싶으면 저거 대신에 branch이름을 적으면 된다.





git clone 깃주소

딴거 필요없고 요거였음

먼저 장점, 사용법을 설명하자면

<!DOCTYPE html>

<html>

<head>

...생략...

</head>


<body>

<?php foreach($menus as $menu){     echo $menu; }?>

</body>

</html>

위와 같이 써야할 것을

<!DOCTYPE html>

<html>

<head>

...생략...

</head>


<body>

@foreach($menus as $menu) {{ $menu }} @endforeach

</body>

</html>

이렇게 쓸 수 있다.



blade templete은 laravel에서 제공하는 템플릿 엔진으로

@로 사용해도 되고, 그냥 php문으로 작성해도 된다.

blade view는 .blade.php 확장자를 사용한다.

처음 라라벨을 설치하고 welcome.blade.php라고 되어있길래 뭔가했더니만 바로 이거였다!

APM(Apache + PHP + Mysql)설치부터 라라벨 설치까지는

http://hplayground.tistory.com/79 여길 참고



1. composer 설치하기

laravel을 본격적으로 설치하기 전 composer부터 설치해야한다.

composer은 의존성 관리도구로

이해하기 쉽게 설명하자면 내가 원하는 기능은 명령어 한줄로 빠르게 설치할 수 있는 것이다.

node.js를 공부했다면 npm같은 역할이라고 알아두면 된다.

homebrew로 php를 설치하면 되던데

자세한 설치방법은 http://haruair.com/blog/1860 요기에 매우 잘 정리되어있는 것 같다

난 라라벨 설치만 정리할거니까..



2. composer를 이용해 라라벨 설치

composer global require "laravel/installer"
composer create-project laravel/laravel --prefer-dist

라라벨 프레임워크가 설치될 폴더로 이동한 후 위의 명령어들을 입력한다

나는 Desktop -> laravel 폴더로 이동한 후 위의 명령어들을 입력해 주었다.


그러면





요렇게 laravel폴더 안에 진짜 laravel이 들어있게 된다.



3. 서버 실행해서 잘 설치됐나 확인하기

php artisan serve

그냥 간단하게 서버 키려면 위의 명령어로(자동으로 포트는 8000)

php artisan serve --port=8080

포트를 지정해서 서버를 키려면 위의 명령어로(나는 8080으로)


그럼 터미널창엔 요렇게 뜨고 localhost:8080으로 접속하면


 뜨든!

처음 작성된 html코드는

$("#target").on("click", function(){ 이벤트 });

이런식으로 작성하면 이벤트가 잘 먹었다.

근데 append나 prepend, before, after로 생성한 태그에는 이벤트가 먹지 않았음! 주륵


열심히 구글링 한 결과 저 코드를 조금만 응용하면 된다고 함(참고로 1.7 이후버전)

$(document).on("click", "#target", function(){ 이벤트 });


대충 정리하면

$(document).on(1, 2, 3)

1 -> click, mouseover, keyup 등의 이벤트

2 -> 타겟태그(#은 id, .은 class)

3 -> 함수

참고 및 공부 - https://blog.outsider.ne.kr/572


난 깃허브 완전 초짜이다...

처음엔 commit을 때렸는데 Changes not staged for commit 이랑 no changes added to commit 가 자꾸 뜨고 커밋이 안됨

그리고 우여곡절끝에 커밋을 했는데 막상 github 사이트를 보면 반영이 안되어 있었음

하지만 구글링으로 문제를 해결함!!


참고로 git에는 저장소가 3가지가 있다고 함

1. 소스가 보관되는 저장소

2. 현재 프로젝트 파일들이 있는 작업트리

3. 커밋될 대상이 저장되는 스테이지


알고보니 commit을 때리기 전에 add를 하여 스테이지 영역에 올려놓아야 한단다





1. 

git status

를 이용해서 변경됐지만 아직 커밋이 안된 파일들의 목록을 쫙 뽑아준다



2.

git add 파일경로

로 스테이지 영역에 올려놓음!

status를 통해 public/css/common.css 가 아직 커밋안됐다는것을 알았으면

git add public/css/common.css

를 해주면 됨!



3.

git commit -m '커밋메시지'

를 하면 일단 커밋이 된다!



4. 마지막으로

git push

를 하고 github 아이디(이메일말고)랑 비밀번호 치면 끝

앙 기모띠




참고로 add하고 commit하는게 귀찮으면

commit할때 -m 옵션대신 -a 옵션을 주면 add와 동시에 commit이 된다고 함!


또는 git add -u를 하면 변경됐지만 아직 커밋안된 파일들이 쫙 스테이지영역에 올라감

그니까 add를 몇번씩 하지 않아도됨


+ Recent posts