Linux JDK Install

Programming/Java 2014. 9. 6. 02:26 |


CentOS 7 에서 설치하였습니다.


리눅스에서도 JDK & JRE 는 별도의 패키지이다.

java-version-openjdk 패키지가 JRE, java-version-openjdk-devel 패키지가 JDK 라고 생각하면 된다.

JDK 가 JRE 에 의존성이 있다.

yum 으로 JDK를 설치하려면 JRE를 먼저 설치해야한다.


설치 가능 확인

yum list java*jdk-devel

- 이렇게 명령하면 설치 가능한 리스트를 출력해준다.

난 java-1.7 버전을 설치하였다.


설치

yum install java-1.7.0-openjdk-devel


설치가 잘 되었는지 확인.

rpm -qa java*jdk-devel

javac -version


자바 컴파일 테스트


Posted by scii
:

CentOS 7 - SSD Active

Linux/CentOS 2014. 8. 24. 03:39 |

'Linux > CentOS' 카테고리의 다른 글

[CentOS] yum을 이용한 packages 다운로드  (0) 2016.02.13
[centos 6.5] gcc 4.6.2 setup  (0) 2015.05.16
CentOS 7 - media repository  (0) 2014.08.24
CentOS 7 NTFS FileSystem Mount  (0) 2014.08.16
RPM (Redhat Package Manager)  (0) 2013.08.11
Posted by scii
:


vlc 하나 설치하려고 삽질했다.. 몇시간을..


centos 7 에 media 관련 repository 를 올린다. 이것을 추가해줘야만 vlc 및 오디오 프로그램등을 설치할 수 있다. 

EPEL, nux-dextop, ATrpms Repository 가 필히 있어야 함.


repository 관련 페이지:

http://wiki.centos.org/AdditionalResources/Repositories


# yum install http://li.nux.ro/download/nux/dextop/el7/x86_64/nux-dextop-release-0-1.el7.nux.noarch.rpm

# yum update

# yum install audacious

# yum install mplayer

- 만약, mplayer 설치 시 error가 난다면...

# yum install http://scrpms.net/pub/RPMS/el7/x86_64/scrpms-repo-7-7.sl7.x86_64.rpm

# yum update

그리고 다시 mplayer를 설치하려고 하면...

Transaction check error:

  file /usr/lib64/libBasicUsageEnvironment.so.0 from install of live-2012.02.04-1.el7.x86_64 conflicts with file from package live555-2013.11.26-1.el7.nux.x86_64

Error Summary

-------------

이렇게 error나 발생한다... 하.. 이건 구글링해도 잘 찾질 못하겠다.. 나중에 다시 해야지 vlc 를 더 좋아하니까 vlc써야지!!




'Linux > CentOS' 카테고리의 다른 글

[centos 6.5] gcc 4.6.2 setup  (0) 2015.05.16
CentOS 7 - SSD Active  (0) 2014.08.24
CentOS 7 NTFS FileSystem Mount  (0) 2014.08.16
RPM (Redhat Package Manager)  (0) 2013.08.11
[CentOS] How to install Python 2.7 and 3.3 Install  (0) 2013.04.07
Posted by scii
:

Linux Command - join

Linux/Common 2014. 8. 23. 21:39 |

'Linux > Common' 카테고리의 다른 글

Memory Drop  (0) 2016.02.07
cron을 이용한 벡업 스크립트  (0) 2014.09.28
vim 업데이트 및 gvim 설치  (0) 2014.02.01
분할 압축  (0) 2013.05.26
xargs, find 명령어  (0) 2013.05.08
Posted by scii
:


OS : Centos 7


1. Install Apache on a CentOS 7

: 아파치 서버를 설치한다.

# yum install httpd

output : 

Loaded plugins: amazon-id, rhui-lb

Resolving Dependencies

--> Running transaction check

---> Package httpd.x86_64 0:2.4.6-17.el7 will be installed

--> Processing Dependency: httpd-tools = 2.4.6-17.el7 for package: httpd-2.4.6-17.el7.x86_64

--> Processing Dependency: /etc/mime.types for package: httpd-2.4.6-17.el7.x86_64

--> Running transaction check

---> Package httpd-tools.x86_64 0:2.4.6-17.el7 will be installed

---> Package mailcap.noarch 0:2.1.41-2.el7 will be installed

--> Finished Dependency Resolution

 

Dependencies Resolved

 

======================================================================================================

 Package            Arch          Version               Repository                               Size

======================================================================================================

Installing:

 httpd              x86_64        2.4.6-17.el7          rhui-REGION-rhel-server-releases        1.2 M

Installing for dependencies:

 httpd-tools        x86_64        2.4.6-17.el7          rhui-REGION-rhel-server-releases         77 k

 mailcap            noarch        2.1.41-2.el7          rhui-REGION-rhel-server-releases         31 k

 

Transaction Summary

======================================================================================================

Install  1 Package (+2 Dependent packages)

 

Total download size: 1.3 M

Installed size: 3.9 M

Is this ok [y/d/N]: y

Downloading packages:

(1/3): httpd-tools-2.4.6-17.el7.x86_64.rpm                                     |  77 kB  00:00:00

(2/3): httpd-2.4.6-17.el7.x86_64.rpm                                           | 1.2 MB  00:00:00

(3/3): mailcap-2.1.41-2.el7.noarch.rpm                                         |  31 kB  00:00:00

------------------------------------------------------------------------------------------------------

Total                                                                 2.0 MB/s | 1.3 MB  00:00:00

Running transaction check

Running transaction test

Transaction test succeeded

Running transaction

  Installing : httpd-tools-2.4.6-17.el7.x86_64                                                    1/3

  Installing : mailcap-2.1.41-2.el7.noarch                                                        2/3

  Installing : httpd-2.4.6-17.el7.x86_64                                                          3/3

  Verifying  : mailcap-2.1.41-2.el7.noarch                                                        1/3

  Verifying  : httpd-tools-2.4.6-17.el7.x86_64                                                    2/3

  Verifying  : httpd-2.4.6-17.el7.x86_64                                                          3/3

 

Installed:

  httpd.x86_64 0:2.4.6-17.el7

 

Dependency Installed:

  httpd-tools.x86_64 0:2.4.6-17.el7                   mailcap.noarch 0:2.1.41-2.el7

 

Complete!


: httpd 서비스를 활성화 및 부팅시에 자동적으로 활성화가 되도록 한다.

# systemctl enable httpd.service

output : 

ln -s '/usr/lib/systemd/system/httpd.service' '/etc/systemd/system/multi-user.target.wants/httpd.service'


# systemctl disable httpd.service 

- disable 명령을 하면 httpd 서비스가 중단되고 부팅하여도 활성화되지 않는다.


: httpd service 실행

# systemctl start httpd.service 

ex) systemctl {start | stop | restart } httpd.service - 시작, 중지, 재시작 명령

ex) systemctl is-active httpd.service - httpd 서버의 상태 확인 명령

apache server가 잘 동작하는지 확인하려면 127.0.0.1을 쳐봐서 확인할 수 있다.



: Gracefully 재시작

# apachectl graceful


: Test httpd/apache configuration file for errors on a centos

# apachectl configtest

- 아파치 서버의 설정파일 테스트인데 "syntax ok"가 나와서 정상이다.

하지만 아마도 처음 이것을 실행하면 서버네임 어쩌고저쩌고 에러가 나올 수 있다. 나중에 설정할 것이지만 미리 말하면 /etc/httpd/conf/httpd.conf  에서...

ServerName 127.0.0.1:80 으로 편집하면 에러가 나지 않을 것이다.


: httpd service default configuration

1. Default config file : /etc/httpd/conf/httpd.conf

2. configuration files which load modules : /etc/httpd/conf.modules.d/directory(e.g PHP)

3. Seelct MPMs (processing model) as loadable modules [worker, prefork(default)] and event:

/etc/httpd/conf.modules.d/00-mpm.conf

4. Default ports : 80 and 443(SSL)

5. Default log files : /var/log/httpd/}access_log, error_log}


***************************************************************************************************************

***************************************************************************************************************


2. MariaDB Install

: mariadb를 설치한다.

# yum install mariadb-server mariadb


: mariadb start

# systemctl start mariadb.service

이 명령을 실행 시켰을 때, error가 발생한다면... 제대로 설치가 되지 않은 것이다.

/var/lib/mysql 디렉토리를 지우고 다시 만든다. mkdir /var/lib/mysql

그런 다음, 

yum install mariadb mariadb-server

다시 한번 이 명령을 실행시키면 된다.



: 컴퓨터 켤 때 자동 실행

# systemctl enable mariadb.service

output :

ln -s '/usr/lib/systemd/system/mariadb.service' '/etc/systemd/system/multi-user.target.wants/mariadb.service


ex)

sudo systemctl stop mariadb.service #<-- Stop mariadb server

sudo systemctl restart mariadb.service #<-- Restart mariadb server

sudo systemctl disable mariadb.service #<-- Disable mariadb server

sudo systemctl is-active mariadb.service   #<-- Is mariadb server running?


: Securing MariaDB

# /usr/bin/mysql_secure_installation

output :

NOTE: RUNNING ALL PARTS OF THIS SCRIPT IS RECOMMENDED FOR ALL MariaDB

      SERVERS IN PRODUCTION USE!  PLEASE READ EACH STEP CAREFULLY!

In order to log into MariaDB to secure it, we'll need the current

password for the root user.  If you've just installed MariaDB, and

you haven't set the root password yet, the password will be blank,

so you should just press enter here.

Enter current password for root (enter for none): PRESS-ENTER-KEY

OK, successfully used password, moving on...

Setting the root password ensures that nobody can log into the MariaDB

root user without the proper authorisation.

Set root password? [Y/n] Y

New password: YOUR-NEW-PASSWORD-HERE

Re-enter new password: YOUR-NEW-PASSWORD-HERE

Password updated successfully!

Reloading privilege tables..

 ... Success!

By default, a MariaDB installation has an anonymous user, allowing anyone

to log into MariaDB without having to have a user account created for

them.  This is intended only for testing, and to make the installation

go a bit smoother.  You should remove them before moving into a

production environment.

Remove anonymous users? [Y/n] Y

 ... Success!

Normally, root should only be allowed to connect from 'localhost'.  This

ensures that someone cannot guess at the root password from the network.

Disallow root login remotely? [Y/n] Y

 ... Success!

By default, MariaDB comes with a database named 'test' that anyone can

access.  This is also intended only for testing, and should be removed

before moving into a production environment.

Remove test database and access to it? [Y/n] Y

 - Dropping test database...

 ... Success!

 - Removing privileges on test database...

 ... Success!

Reloading the privilege tables will ensure that all changes made so far

will take effect immediately.

Reload privilege tables now? [Y/n] Y

 ... Success!

Cleaning up...

All done!  If you've completed all of the above steps, your MariaDB

installation should now be secure.

Thanks for using MariaDB!


:: 잘 설치되었는지 확인

# mysql -u root -p

위의 명령을 입력하여 비밀번호를 치고 들어가면 성공.


: mariaDB 가 잘 동작하는 지 확인

vi /var/www/html/db.php

 code :

<?php

mysql_connect("", "", "");

echo "db 작동 완료!!";

?>

이렇게 해서 "db 작동 완료" 라는 문구가 나오면 서로 잘 연동 된 것이다.


3. PHP Install

: php 설치

# yum install php php-mysql php-gd php-pear


: httpd 재시작

# systemctl restart httpd.service


:  모듈 설치

# yum install php-pgsql


: php가 잘 설치되었는지 확인

vi /var/www/html/test.php

code : 

<?php

phpinfo();

?>

파일을 저장하고 웹브라우저에서 127.0.0.1/text.php 를 입력하면 아래의 사진과 같은 결과물이 나오면 잘 설치가 된 것이다.




====================================================================================================


Configure Settings


:: 방화벽 설정

\

3306 포트는 mariadbServer에서 mysql를 열기위함이다. mysql 기본 포트가 3306인 것 같다.


방화벽 서비스 재시작



/etc/httpd/conf/httpd.conf

: apache가 php를 인식하도록 설정



/etc/httpd/conf.d/php.conf

:: AddType 추가


:: DirectoryIndex 추가



/etc/php.ini

upload_max_filesize = 100M

default_socket_timeout = 3000

max_execution_time = 30     ; Maximum execution time of each script, in seconds

max_input_time = 60     ; Maximum amount of time each script may spend parsing request data

memory_limit = 128M      ; Maximum amount of memory a script may consume

short_open_tag = On // XE 가  제대로 작동 안될때 사용.

 upload_tmp_dir = /tmp

upload_max_filesize = 100M

default_charset = "UTF-8"

mbstring.internal_encoding = UTF-8


# php.ini 에서 사용 금지할 명령어 추가

disable_functions = exec, shell



/etc/my.cnf

php에서 한글을 출력해 내는 것은 잘 되는데, MariaDB에서 DB 쿼리를 해서 한글을 출력시에는 전부 ?? 로 표시되는 문제가 발생했다.

인터넷상에서 알려진 PHP와 UTF-8의 설정법을 전부 적용해봤는데도 안되었는데, 최종적으로 /etc/my.cnf 에 [mysqld] 항목에서 skip-character-set-client-handshake 를 추가해주니깐 겨우 한글이 출력되기 시작했다. 클라이언트의 설정을 무시하고 서버쪽 설정에 따르도록 한다는 것 같다.

다른 부분을 전부 설정했음에도 저걸 안해주면 안되는 이유가 소스 설치를 했으면 모르겠는데, 내 경우는 yum 을 이용해서 설치했으며, yum 을 이용해서 설치하면 다른곳이 전부 utf8이라도 DB가 접속시 latin을 사용한다는 얘기가 있다. 따라서 꼭 skip-character-set-client-handshake 를 해준다.

이외에 기본적으로 CentOS 6.4에서 PHP와 MariaDB(MySQL)의 utf-8 입출력을 위한 설정을 남겨본다.

물론 기본적으로 php 파일은 utf-8 로 인코딩 되어 있어야 함.

1. DB 생성시 utf8_general_ci 로 생성.

2. /etc/my.cnf 파일 수정

※ 참고로 my.cnf 설정 잘못하면 my.cnf 설정 변경후 서비스 재시작시에 에러나서 실행이 안될수도 있다. 이 경우엔 설정을 하나씩 지우던가 해서 맞지 않는 설정을 제외시킨다.


[client]

default-character-set=utf8


[mysqld]

init_connect="SET collation_connection=utf8_general_ci"

init_connect="SET NAMES utf8"

character-set-server=utf8

collation-server=utf8_general_ci

skip-character-set-client-handshake


[mysql]

default-character-set=utf8

#

# This group is read both both by the client and the server

# use it for options that affect everything

#

[client-server]

#

# include all files from the config directory

#

!includedir /etc/my.cnf.d


위와같이 my.cnf 를 바꿔준후 서비스를 재시작해주고 mysql 콘솔로 접속해서 show variables like 'c%'; 명령어를 이용해서 정상적으로 db가 utf8로 설정되어 있는지 확인한다.


:: /etc/php.ini 수정

default_charset = "utf-8"

mbstring.internal_encoding=UTF-8


일단 내가 설정한 부분은 여기까지 였으며 정확하게 utf-8이 동작한다. 내 경우에 핵심은 /etc/my.cnf 에 skip-character-set-client-handshake 추가를 해준후에 동작했다는 점. 



참고 페이지 : 

http://blog.keypointer.co.kr/?p=53

http://www.cyberciti.biz/faq/howto-install-linux-apache-mariadb-php-lamp-stack-on-centos7-rhel7/

http://www.if-not-true-then-false.com/2013/install-mariadb-on-fedora-centos-rhel/

http://www.nextstep.co.kr/250



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

Linux PHPStrom 설정  (0) 2014.09.06
Installing Xdebug on CentOS  (0) 2014.09.06
Python 학습 관련 자료 및 문서, WebSite  (0) 2014.03.25
Python PySide 설치  (1) 2013.03.07
윈도우환경을 리눅스환경처럼  (0) 2013.02.19
Posted by scii
:


센토스7에서 NTFS 파일 시스템을 마운트하려면 먼저 EPEL 7 이 필요하다.

How To Install EPEL Repository On CentOS And RHEL 7

[root@localhost ~]# cat  /etc/centos-release     # 자신의 릴리즈 버전이 몇인지 확인

CentOS Linux release 7 (Broken)


Download EPEL and install using yum:

[root@localhost ~]# yum install http://dl.fedoraproject.org/pub/epel/beta/7/x86_64/epel-release-7-0.2.noarch.rpm

[root@localhost ~]# yum update

[root@localhost ~]# yum repolist

Loaded plugins: fastestmirror, langpacks

Loading mirror speeds from cached hostfile

 * epel: nl.mirror.eurid.eu

repo id                                                                        repo name                                                                                                 status

epel/x86_64                                                               Extra Packages for Enterprise Linux 7 - x86_64                                   4,572

이렇게 EPEL이 Linux 7으로 뜬다면, 제대로 설치가 된 것이다.


Intsll NTFS

[root@localhost ~]# yum install ntfs-3g

이제 ntfs-3g를 설치하면, EPEL 버전을 근거하여 센토스 7에 맞게 ntfs-3가 설치될 것이다.

이제 windows가 설치되어있는 하드디스크, 외장하드등도 모두 접근할 수 있다.



나의 /etc/fstab


이제 centos7부터는 우분투와 완전 똑같다. 이렇게 /run/media/username/mount dir 에 마운트를 시키면 아래의 캡쳐 사진과 같이 옆에 마운트 된 저장소가 뜨는 것을 볼 수 있다!!!


'Linux > CentOS' 카테고리의 다른 글

CentOS 7 - SSD Active  (0) 2014.08.24
CentOS 7 - media repository  (0) 2014.08.24
RPM (Redhat Package Manager)  (0) 2013.08.11
[CentOS] How to install Python 2.7 and 3.3 Install  (0) 2013.04.07
CentOS 6.4 NVIDIA GeForce Graphic Driver Install  (3) 2013.04.06
Posted by scii
:

PHP 코드는 하나의 파일 내에서 HTLM 스크립트와 함께 사용된다. <? 로 시작해서 ?> 로 끝나는 부분이 PHP 코드에 해당된다.



만약, 서버의 주소가 http://SCHoudini.com 이라고 가정한다면,  웹 브라우저의 주소 창에 다음과 같이 내용을 입력하면,

http://SCHoudini.com/saemple.php

국어: 80

영어: 70

수학: 90

합계: 240

평균: 80

이라는 결과값을 볼 수 있을것이다. 그리고 소스보기로 웹페이지의 소스를 보면 PHP 코드 부분이 사라져 있을 것이다. 

그 이유는, 서버측의 웹 서버인 Apache가 웹 브라우저에서 요청한 saemple.php를 받아들인 후 위의 코드에 보이는 PHP 코드 부분은 PHP 파서 즉, PHP 를 분석하는 전용 프로세스에게 해석을 요청한다. PHP 파서는 PHP 부분을 처리하여 HTML로 바꾸어 준 다음 그것을 다시 Aphche에게 돌려주어 Apache는 HTML 코드만을 클라이언트의 웹 브라우저로 보낸다. 따라서 클라이언트 쪽에서는 웹 브라우저의 위의 결과 값을 출력해주는 것이다.


Posted by scii
:


클라이언트(서비스 요청) 컴퓨터                         서버(서비스 제공) 컴퓨터

웹 브라우저                                      웹 서버 프로그램(Apache)

            PHP

데이터베이스(MySQL)


위 흐름의 설명:

1. 클라이언트 컴퓨터의 사용자는 인터넷 익스플러로를 통하여 원하는 정보를 요청하고, 서버 컴퓨터의 Apache 프로그램은 접속 요청을 허락한다.

2. Apache 는 PHP에게 데이터베이스에 저장된 데이터를 가져올 것을 명령한다.

3. PHP는 데이터베이스(MySQL)에 저장된 데이터를 가져온다.

4. HTML 형태로 Apache에게 돌려준다.

5. Apache는 완정된 HTML문서를 클라이언트 컴퓨터의 인터넷 익스플로러에 전달한다.


이와 같이 함으로써 클라이언트 컴퓨터의 사용자는 서버에서 제공하는 정보를 인터넷 익스플로러 화면에서 볼 수 있게 된다.


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

PHP에서 기본적으로 많이 쓰이는 함수들  (0) 2014.09.07
echo 문 사용 시, 중괄호( { } ) 의 대한 의미  (0) 2014.09.07
점(.) 연산자  (0) 2014.09.07
PHP 와 HTML과의 관계  (1) 2014.08.11
Posted by scii
: