{"id":766,"date":"2015-05-11T03:13:43","date_gmt":"2015-05-11T12:13:43","guid":{"rendered":"http:\/\/blog.box.kr\/?p=766"},"modified":"2015-05-11T03:13:43","modified_gmt":"2015-05-11T12:13:43","slug":"install-bugzilla-with-nginx-on-centos7","status":"publish","type":"post","link":"https:\/\/blog.box.kr\/?p=766","title":{"rendered":"install bugzilla with nginx on centos7"},"content":{"rendered":"<h2 id=\"set-the-hostname\">Set the Hostname<\/h2>\n<p>Before you begin installing and configuring the components described in this guide, please make sure you\u2019ve followed our instructions for <a href=\"https:\/\/www.linode.com\/docs\/getting-started#sph_set-the-hostname\">setting your hostname<\/a>. Issue the following commands to make sure it is set properly:<\/p>\n<div class=\"highlight plaintext\">\n<table style=\"padding-left: 30px;\">\n<tbody>\n<tr>\n<td class=\"gutter gl\">\n<pre class=\"lineno\"><\/pre>\n<\/td>\n<td class=\"code\">\n<pre>hostname\nhostname -f\n<\/pre>\n<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<p>The first command should show your short hostname, and the second should show your fully qualified domain name (FQDN).<\/p>\n<h2 id=\"install-required-packages\">Install Required Packages<\/h2>\n<p>CentOS doesn\u2019t include nginx in their repositories, so you\u2019ll need to add support for <a href=\"http:\/\/fedoraproject.org\/wiki\/EPEL\">EPEL<\/a> (Extra Packages for Enterprise Linux) from the Fedora project. Issue the following command:<\/p>\n<div class=\"highlight plaintext\">\n<table style=\"padding-left: 30px;\">\n<tbody>\n<tr>\n<td class=\"gutter gl\">\n<pre class=\"lineno\"><\/pre>\n<\/td>\n<td class=\"code\">\n<pre>rpm -Uvh http:\/\/download.fedora.redhat.com\/pub\/epel\/5\/i386\/epel-release-5-4.noarch.rpm\n<\/pre>\n<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<p>Issue the following commands to update your system and install the nginx web server and compiler tools (Perl should already be installed):<\/p>\n<div class=\"highlight plaintext\">\n<table style=\"padding-left: 30px;\">\n<tbody>\n<tr>\n<td class=\"gutter gl\">\n<pre class=\"lineno\"><\/pre>\n<\/td>\n<td class=\"code\">\n<pre>yum update\nyum install nginx make automake gcc gcc-c++ fcgi-perl wget\nyum install nginx fcg-perl wget\nchkconfig --add nginx\nchkconfig nginx on\n\/etc\/init.d\/nginx start\n<\/pre>\n<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<p>You\u2019ll be asked to accept the key for EPEL, as it gets imported the first time you install an EPEL package.<\/p>\n<h2 id=\"configure-virtual-hosting\">Configure Virtual Hosting<\/h2>\n<p>In this guide, the domain \u201cexample.com\u201d is used as an example site. You should substitute your own domain name in the configuration steps that follow. First, create directories to hold content and log files:<\/p>\n<div class=\"highlight plaintext\">\n<table style=\"padding-left: 30px;\">\n<tbody>\n<tr>\n<td class=\"gutter gl\">\n<pre class=\"lineno\"><\/pre>\n<\/td>\n<td class=\"code\">\n<pre>mkdir -p \/srv\/www\/www.example.com\/public_html\nmkdir \/srv\/www\/www.example.com\/logs\nchown -R nginx:nginx \/srv\/www\/www.example.com\n<\/pre>\n<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<p>Issue the following commands to create virtual hosting directories:<\/p>\n<div class=\"highlight plaintext\">\n<table style=\"width: 290px; height: 90px; padding-left: 30px;\">\n<tbody>\n<tr>\n<td class=\"gutter gl\">\n<pre class=\"lineno\"><\/pre>\n<\/td>\n<td class=\"code\">\n<pre>mkdir \/etc\/nginx\/sites-available\nmkdir \/etc\/nginx\/sites-enabled\n<\/pre>\n<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<p>Add the following lines to your <code>\/etc\/nginx\/nginx.conf<\/code> file, immediately after the line for <code>include \/etc\/nginx\/conf.d\/*.conf<\/code>:<\/p>\n<dl class=\"file-excerpt\">\n<dt>\/etc\/nginx\/nginx.conf<\/dt>\n<dd>\n<div class=\"highlight plaintext\">\n<table>\n<tbody>\n<tr>\n<td class=\"gutter gl\">\n<pre class=\"lineno\"><\/pre>\n<\/td>\n<td class=\"code\">\n<pre># Load virtual host configuration files.\ninclude \/etc\/nginx\/sites-enabled\/*;\n<\/pre>\n<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<\/dd>\n<\/dl>\n<p>Next, you\u2019ll need to define the site\u2019s virtual host file:<\/p>\n<dl class=\"file\">\n<dt>\/etc\/nginx\/sites-available\/www.example.com<\/dt>\n<dd>\n<div class=\"highlight nginx\">\n<table>\n<tbody>\n<tr>\n<td class=\"gutter gl\">\n<pre class=\"lineno\"><\/pre>\n<\/td>\n<td class=\"code\">\n<pre><span class=\"k\">server<\/span> <span class=\"p\">{<\/span>\n    <span class=\"kn\">listen<\/span>   <span class=\"mi\">80<\/span><span class=\"p\">;<\/span>\n    <span class=\"kn\">server_name<\/span> <span class=\"s\">www.example.com<\/span> <span class=\"s\">example.com<\/span><span class=\"p\">;<\/span>\n    <span class=\"kn\">access_log<\/span> <span class=\"n\">\/srv\/www\/www.example.com\/logs\/access.log<\/span><span class=\"p\">;<\/span>\n    <span class=\"kn\">error_log<\/span> <span class=\"n\">\/srv\/www\/www.example.com\/logs\/error.log<\/span><span class=\"p\">;<\/span>\n\n    <span class=\"kn\">location<\/span> <span class=\"n\">\/<\/span> <span class=\"p\">{<\/span>\n    <span class=\"kn\">root<\/span>   <span class=\"n\">\/srv\/www\/www.example.com\/public_html<\/span><span class=\"p\">;<\/span>\n    <span class=\"kn\">index<\/span>  <span class=\"s\">index.html<\/span> <span class=\"s\">index.htm<\/span><span class=\"p\">;<\/span>\n    <span class=\"p\">}<\/span>\n\n    <span class=\"kn\">location<\/span> <span class=\"p\">~<\/span> <span class=\"sr\">.pl$<\/span> <span class=\"p\">{<\/span>\n    <span class=\"kn\">gzip<\/span> <span class=\"no\">off<\/span><span class=\"p\">;<\/span>\n    <span class=\"kn\">include<\/span> <span class=\"n\">\/etc\/nginx\/fastcgi_params<\/span><span class=\"p\">;<\/span>\n    <span class=\"kn\">fastcgi_pass<\/span>  <span class=\"nf\">127.0.0.1<\/span><span class=\"p\">:<\/span><span class=\"mi\">8999<\/span><span class=\"p\">;<\/span>\n    <span class=\"kn\">fastcgi_index<\/span> <span class=\"s\">index.pl<\/span><span class=\"p\">;<\/span>\n    <span class=\"kn\">fastcgi_param<\/span>  <span class=\"s\">SCRIPT_FILENAME<\/span>  <span class=\"n\">\/srv\/www\/www.example.com\/public_html<\/span><span class=\"nv\">$fastcgi_script_name<\/span><span class=\"p\">;<\/span>\n    <span class=\"p\">}<\/span>\n<span class=\"p\">}<\/span>\n<\/pre>\n<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<\/dd>\n<\/dl>\n<p>Issue the following commands to enable the site:<\/p>\n<div class=\"highlight plaintext\">\n<table style=\"padding-left: 30px;\">\n<tbody>\n<tr>\n<td class=\"gutter gl\">\n<pre class=\"lineno\"><\/pre>\n<\/td>\n<td class=\"code\">\n<pre>cd \/etc\/nginx\/sites-enabled\/\nln -s \/etc\/nginx\/sites-available\/www.example.com\n\/etc\/init.d\/nginx restart\n<\/pre>\n<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<p>You may wish to create a test HTML page under <code>\/srv\/www\/www.example.com\/public_html\/<\/code> and view it in your browser to verify that nginx is properly serving your site (Perl will not work yet). Please note that this will require an <a href=\"https:\/\/www.linode.com\/docs\/dns-guides\/configuring-dns-with-the-linode-manager\">entry in DNS<\/a> pointing your domain name to your Linode\u2019s IP address (found on the \u201cRemote Access\u201d tab in the <a href=\"http:\/\/manager.linode.com\/\/\">Linode Manager<\/a>).<\/p>\n<h2 id=\"configure-fastcgi-wrapper\">Configure FastCGI Wrapper<\/h2>\n<p>First create the FastCGI wrapper script (credit: <a href=\"http:\/\/www.ruby-forum.com\/topic\/145858\">Denis S. Filimonov<\/a>) at <code>\/usr\/bin\/fastcgi-wrapper.pl<\/code> with the following contents:<\/p>\n<dl class=\"file-excerpt\">\n<dt>\/usr\/bin\/fastcgi-wrapper.pl<\/dt>\n<dd>\n<div class=\"highlight perl\">\n<table>\n<tbody>\n<tr>\n<td class=\"gutter gl\">\n<pre class=\"lineno\"><\/pre>\n<\/td>\n<td class=\"code\">\n<pre><span class=\"c1\">#!\/usr\/bin\/perl<\/span>\n\n<span class=\"k\">use<\/span> <span class=\"nv\">FCGI<\/span><span class=\"p\">;<\/span>\n<span class=\"k\">use<\/span> <span class=\"nv\">Socket<\/span><span class=\"p\">;<\/span>\n<span class=\"k\">use<\/span> <span class=\"nv\">POSIX<\/span> <span class=\"sx\">qw(setsid)<\/span><span class=\"p\">;<\/span>\n\n<span class=\"nb\">require<\/span> <span class=\"s\">'syscall.ph'<\/span><span class=\"p\">;<\/span>\n\n<span class=\"o\">&amp;<\/span><span class=\"nv\">daemonize<\/span><span class=\"p\">;<\/span>\n\n<span class=\"c1\">#this keeps the program alive or something after exec'ing perl scripts<\/span>\n<span class=\"k\">END<\/span><span class=\"p\">()<\/span> <span class=\"p\">{<\/span> <span class=\"p\">}<\/span> <span class=\"k\">BEGIN<\/span><span class=\"p\">()<\/span> <span class=\"p\">{<\/span> <span class=\"p\">}<\/span>\n<span class=\"o\">*<\/span><span class=\"nn\">CORE::GLOBAL::<\/span><span class=\"nv\">exit<\/span> <span class=\"o\">=<\/span> <span class=\"k\">sub <\/span><span class=\"p\">{<\/span> <span class=\"nb\">die<\/span> <span class=\"s\">\"fakeexitnrc=\"<\/span><span class=\"o\">.<\/span><span class=\"nb\">shift<\/span><span class=\"p\">()<\/span><span class=\"o\">.<\/span><span class=\"s\">\"n\"<\/span><span class=\"p\">;<\/span> <span class=\"p\">};<\/span>\n<span class=\"nb\">eval<\/span> <span class=\"sx\">q{exit}<\/span><span class=\"p\">;<\/span>\n<span class=\"k\">if<\/span> <span class=\"p\">(<\/span><span class=\"vg\">$@<\/span><span class=\"p\">)<\/span> <span class=\"p\">{<\/span>\n    <span class=\"nb\">exit<\/span> <span class=\"k\">unless<\/span> <span class=\"vg\">$@<\/span> <span class=\"o\">=~<\/span> <span class=\"sr\">\/^fakeexit\/<\/span><span class=\"p\">;<\/span>\n<span class=\"p\">};<\/span>\n\n<span class=\"o\">&amp;<\/span><span class=\"nv\">main<\/span><span class=\"p\">;<\/span>\n\n<span class=\"k\">sub <\/span><span class=\"nf\">daemonize<\/span><span class=\"p\">()<\/span> <span class=\"p\">{<\/span>\n    <span class=\"nb\">chdir<\/span> <span class=\"s\">'\/'<\/span>                 <span class=\"ow\">or<\/span> <span class=\"nb\">die<\/span> <span class=\"s\">\"Can't chdir to \/: $!\"<\/span><span class=\"p\">;<\/span>\n    <span class=\"nb\">defined<\/span><span class=\"p\">(<\/span><span class=\"k\">my<\/span> <span class=\"nv\">$pid<\/span> <span class=\"o\">=<\/span> <span class=\"nb\">fork<\/span><span class=\"p\">)<\/span>   <span class=\"ow\">or<\/span> <span class=\"nb\">die<\/span> <span class=\"s\">\"Can't fork: $!\"<\/span><span class=\"p\">;<\/span>\n    <span class=\"nb\">exit<\/span> <span class=\"k\">if<\/span> <span class=\"nv\">$pid<\/span><span class=\"p\">;<\/span>\n    <span class=\"nv\">setsid<\/span>                    <span class=\"ow\">or<\/span> <span class=\"nb\">die<\/span> <span class=\"s\">\"Can't start a new session: $!\"<\/span><span class=\"p\">;<\/span>\n    <span class=\"nb\">umask<\/span> <span class=\"mi\">0<\/span><span class=\"p\">;<\/span>\n<span class=\"p\">}<\/span>\n\n<span class=\"k\">sub <\/span><span class=\"nf\">main<\/span> <span class=\"p\">{<\/span>\n        <span class=\"nv\">$socket<\/span> <span class=\"o\">=<\/span> <span class=\"nn\">FCGI::<\/span><span class=\"nv\">OpenSocket<\/span><span class=\"p\">(<\/span> <span class=\"s\">\"127.0.0.1:8999\"<\/span><span class=\"p\">,<\/span> <span class=\"mi\">10<\/span> <span class=\"p\">);<\/span> <span class=\"c1\">#use IP sockets<\/span>\n        <span class=\"nv\">$request<\/span> <span class=\"o\">=<\/span> <span class=\"nn\">FCGI::<\/span><span class=\"nv\">Request<\/span><span class=\"p\">(<\/span> <span class=\"o\">*<\/span><span class=\"bp\">STDIN<\/span><span class=\"p\">,<\/span> <span class=\"o\">*<\/span><span class=\"bp\">STDOUT<\/span><span class=\"p\">,<\/span> <span class=\"o\">*<\/span><span class=\"bp\">STDERR<\/span><span class=\"p\">,<\/span> <span class=\"o\"><\/span><span class=\"nv\">%req_params<\/span><span class=\"p\">,<\/span> <span class=\"nv\">$socket<\/span> <span class=\"p\">);<\/span>\n        <span class=\"k\">if<\/span> <span class=\"p\">(<\/span><span class=\"nv\">$request<\/span><span class=\"p\">)<\/span> <span class=\"p\">{<\/span> <span class=\"nv\">request_loop<\/span><span class=\"p\">()};<\/span>\n            <span class=\"nn\">FCGI::<\/span><span class=\"nv\">CloseSocket<\/span><span class=\"p\">(<\/span> <span class=\"nv\">$socket<\/span> <span class=\"p\">);<\/span>\n<span class=\"p\">}<\/span>\n\n<span class=\"k\">sub <\/span><span class=\"nf\">request_loop<\/span> <span class=\"p\">{<\/span>\n        <span class=\"k\">while<\/span><span class=\"p\">(<\/span> <span class=\"nv\">$request<\/span><span class=\"o\">-&gt;<\/span><span class=\"nv\">Accept<\/span><span class=\"p\">()<\/span> <span class=\"o\">&gt;=<\/span> <span class=\"mi\">0<\/span> <span class=\"p\">)<\/span> <span class=\"p\">{<\/span>\n\n           <span class=\"c1\">#processing any STDIN input from WebServer (for CGI-POST actions)<\/span>\n           <span class=\"nv\">$stdin_passthrough<\/span> <span class=\"o\">=<\/span><span class=\"s\">''<\/span><span class=\"p\">;<\/span>\n           <span class=\"nv\">$req_len<\/span> <span class=\"o\">=<\/span> <span class=\"mi\">0<\/span> <span class=\"o\">+<\/span> <span class=\"nv\">$req_params<\/span><span class=\"p\">{<\/span><span class=\"s\">'CONTENT_LENGTH'<\/span><span class=\"p\">};<\/span>\n           <span class=\"k\">if<\/span> <span class=\"p\">((<\/span><span class=\"nv\">$req_params<\/span><span class=\"p\">{<\/span><span class=\"s\">'REQUEST_METHOD'<\/span><span class=\"p\">}<\/span> <span class=\"ow\">eq<\/span> <span class=\"s\">'POST'<\/span><span class=\"p\">)<\/span> <span class=\"o\">&amp;&amp;<\/span> <span class=\"p\">(<\/span><span class=\"nv\">$req_len<\/span> <span class=\"o\">!=<\/span> <span class=\"mi\">0<\/span><span class=\"p\">)<\/span> <span class=\"p\">){<\/span>\n                <span class=\"k\">my<\/span> <span class=\"nv\">$bytes_read<\/span> <span class=\"o\">=<\/span> <span class=\"mi\">0<\/span><span class=\"p\">;<\/span>\n                <span class=\"k\">while<\/span> <span class=\"p\">(<\/span><span class=\"nv\">$bytes_read<\/span> <span class=\"o\">&lt;<\/span> <span class=\"nv\">$req_len<\/span><span class=\"p\">)<\/span> <span class=\"p\">{<\/span>\n                        <span class=\"k\">my<\/span> <span class=\"nv\">$data<\/span> <span class=\"o\">=<\/span> <span class=\"s\">''<\/span><span class=\"p\">;<\/span>\n                        <span class=\"k\">my<\/span> <span class=\"nv\">$bytes<\/span> <span class=\"o\">=<\/span> <span class=\"nb\">read<\/span><span class=\"p\">(<\/span><span class=\"bp\">STDIN<\/span><span class=\"p\">,<\/span> <span class=\"nv\">$data<\/span><span class=\"p\">,<\/span> <span class=\"p\">(<\/span><span class=\"nv\">$req_len<\/span> <span class=\"o\">-<\/span> <span class=\"nv\">$bytes_read<\/span><span class=\"p\">));<\/span>\n                        <span class=\"k\">last<\/span> <span class=\"k\">if<\/span> <span class=\"p\">(<\/span><span class=\"nv\">$bytes<\/span> <span class=\"o\">==<\/span> <span class=\"mi\">0<\/span> <span class=\"o\">||<\/span> <span class=\"o\">!<\/span><span class=\"nb\">defined<\/span><span class=\"p\">(<\/span><span class=\"nv\">$bytes<\/span><span class=\"p\">));<\/span>\n                        <span class=\"nv\">$stdin_passthrough<\/span> <span class=\"o\">.=<\/span> <span class=\"nv\">$data<\/span><span class=\"p\">;<\/span>\n                        <span class=\"nv\">$bytes_read<\/span> <span class=\"o\">+=<\/span> <span class=\"nv\">$bytes<\/span><span class=\"p\">;<\/span>\n                <span class=\"p\">}<\/span>\n            <span class=\"p\">}<\/span>\n\n            <span class=\"c1\">#running the cgi app<\/span>\n            <span class=\"k\">if<\/span> <span class=\"p\">(<\/span> <span class=\"p\">(<\/span><span class=\"o\">-<\/span><span class=\"nv\">x<\/span> <span class=\"nv\">$req_params<\/span><span class=\"p\">{<\/span><span class=\"nv\">SCRIPT_FILENAME<\/span><span class=\"p\">})<\/span> <span class=\"o\">&amp;&amp;<\/span>  <span class=\"c1\">#can I execute this?<\/span>\n                 <span class=\"p\">(<\/span><span class=\"o\">-<\/span><span class=\"nv\">s<\/span> <span class=\"nv\">$req_params<\/span><span class=\"p\">{<\/span><span class=\"nv\">SCRIPT_FILENAME<\/span><span class=\"p\">})<\/span> <span class=\"o\">&amp;&amp;<\/span>  <span class=\"c1\">#Is this file empty?<\/span>\n                 <span class=\"p\">(<\/span><span class=\"o\">-<\/span><span class=\"nv\">r<\/span> <span class=\"nv\">$req_params<\/span><span class=\"p\">{<\/span><span class=\"nv\">SCRIPT_FILENAME<\/span><span class=\"p\">})<\/span>     <span class=\"c1\">#can I read this file?<\/span>\n            <span class=\"p\">){<\/span>\n        <span class=\"nb\">pipe<\/span><span class=\"p\">(<\/span><span class=\"nv\">CHILD_RD<\/span><span class=\"p\">,<\/span> <span class=\"nv\">PARENT_WR<\/span><span class=\"p\">);<\/span>\n        <span class=\"k\">my<\/span> <span class=\"nv\">$pid<\/span> <span class=\"o\">=<\/span> <span class=\"nb\">open<\/span><span class=\"p\">(<\/span><span class=\"nv\">KID_TO_READ<\/span><span class=\"p\">,<\/span> <span class=\"s\">\"-|\"<\/span><span class=\"p\">);<\/span>\n        <span class=\"k\">unless<\/span><span class=\"p\">(<\/span><span class=\"nb\">defined<\/span><span class=\"p\">(<\/span><span class=\"nv\">$pid<\/span><span class=\"p\">))<\/span> <span class=\"p\">{<\/span>\n            <span class=\"k\">print<\/span><span class=\"p\">(<\/span><span class=\"s\">\"Content-type: text\/plainrnrn\"<\/span><span class=\"p\">);<\/span>\n                        <span class=\"k\">print<\/span> <span class=\"s\">\"Error: CGI app returned no output - \"<\/span><span class=\"p\">;<\/span>\n                        <span class=\"k\">print<\/span> <span class=\"s\">\"Executing $req_params{SCRIPT_FILENAME} failed !n\"<\/span><span class=\"p\">;<\/span>\n            <span class=\"k\">next<\/span><span class=\"p\">;<\/span>\n        <span class=\"p\">}<\/span>\n        <span class=\"k\">if<\/span> <span class=\"p\">(<\/span><span class=\"nv\">$pid<\/span> <span class=\"o\">&gt;<\/span> <span class=\"mi\">0<\/span><span class=\"p\">)<\/span> <span class=\"p\">{<\/span>\n            <span class=\"nb\">close<\/span><span class=\"p\">(<\/span><span class=\"nv\">CHILD_RD<\/span><span class=\"p\">);<\/span>\n            <span class=\"k\">print<\/span> <span class=\"nv\">PARENT_WR<\/span> <span class=\"nv\">$stdin_passthrough<\/span><span class=\"p\">;<\/span>\n            <span class=\"nb\">close<\/span><span class=\"p\">(<\/span><span class=\"nv\">PARENT_WR<\/span><span class=\"p\">);<\/span>\n\n            <span class=\"k\">while<\/span><span class=\"p\">(<\/span><span class=\"k\">my<\/span> <span class=\"nv\">$s<\/span> <span class=\"o\">=<\/span> <span class=\"sr\">&lt;KID_TO_READ&gt;<\/span><span class=\"p\">)<\/span> <span class=\"p\">{<\/span> <span class=\"k\">print<\/span> <span class=\"nv\">$s<\/span><span class=\"p\">;<\/span> <span class=\"p\">}<\/span>\n            <span class=\"nb\">close<\/span> <span class=\"nv\">KID_TO_READ<\/span><span class=\"p\">;<\/span>\n            <span class=\"nb\">waitpid<\/span><span class=\"p\">(<\/span><span class=\"nv\">$pid<\/span><span class=\"p\">,<\/span> <span class=\"mi\">0<\/span><span class=\"p\">);<\/span>\n        <span class=\"p\">}<\/span> <span class=\"k\">else<\/span> <span class=\"p\">{<\/span>\n                    <span class=\"k\">foreach<\/span> <span class=\"nv\">$key<\/span> <span class=\"p\">(<\/span> <span class=\"nb\">keys<\/span> <span class=\"nv\">%req_params<\/span><span class=\"p\">){<\/span>\n                       <span class=\"nv\">$ENV<\/span><span class=\"p\">{<\/span><span class=\"nv\">$key<\/span><span class=\"p\">}<\/span> <span class=\"o\">=<\/span> <span class=\"nv\">$req_params<\/span><span class=\"p\">{<\/span><span class=\"nv\">$key<\/span><span class=\"p\">};<\/span>\n                    <span class=\"p\">}<\/span>\n                    <span class=\"c1\"># cd to the script's local directory<\/span>\n                    <span class=\"k\">if<\/span> <span class=\"p\">(<\/span><span class=\"nv\">$req_params<\/span><span class=\"p\">{<\/span><span class=\"nv\">SCRIPT_FILENAME<\/span><span class=\"p\">}<\/span> <span class=\"o\">=~<\/span> <span class=\"sr\">\/^(.*)\/[^\/]+$\/<\/span><span class=\"p\">)<\/span> <span class=\"p\">{<\/span>\n                            <span class=\"nb\">chdir<\/span> <span class=\"nv\">$1<\/span><span class=\"p\">;<\/span>\n                    <span class=\"p\">}<\/span>\n\n            <span class=\"nb\">close<\/span><span class=\"p\">(<\/span><span class=\"nv\">PARENT_WR<\/span><span class=\"p\">);<\/span>\n            <span class=\"nb\">close<\/span><span class=\"p\">(<\/span><span class=\"bp\">STDIN<\/span><span class=\"p\">);<\/span>\n            <span class=\"c1\">#fcntl(CHILD_RD, F_DUPFD, 0);<\/span>\n            <span class=\"nb\">syscall<\/span><span class=\"p\">(<\/span><span class=\"o\">&amp;<\/span><span class=\"nv\">SYS_dup2<\/span><span class=\"p\">,<\/span> <span class=\"nb\">fileno<\/span><span class=\"p\">(<\/span><span class=\"nv\">CHILD_RD<\/span><span class=\"p\">),<\/span> <span class=\"mi\">0<\/span><span class=\"p\">);<\/span>\n            <span class=\"c1\">#open(STDIN, \"&lt;&amp;CHILD_RD\");<\/span>\n            <span class=\"nb\">exec<\/span><span class=\"p\">(<\/span><span class=\"nv\">$req_params<\/span><span class=\"p\">{<\/span><span class=\"nv\">SCRIPT_FILENAME<\/span><span class=\"p\">});<\/span>\n            <span class=\"nb\">die<\/span><span class=\"p\">(<\/span><span class=\"s\">\"exec failed\"<\/span><span class=\"p\">);<\/span>\n        <span class=\"p\">}<\/span>\n            <span class=\"p\">}<\/span>\n            <span class=\"k\">else<\/span> <span class=\"p\">{<\/span>\n                <span class=\"k\">print<\/span><span class=\"p\">(<\/span><span class=\"s\">\"Content-type: text\/plainrnrn\"<\/span><span class=\"p\">);<\/span>\n                <span class=\"k\">print<\/span> <span class=\"s\">\"Error: No such CGI app - $req_params{SCRIPT_FILENAME} may not \"<\/span><span class=\"p\">;<\/span>\n                <span class=\"k\">print<\/span> <span class=\"s\">\"exist or is not executable by this process.n\"<\/span><span class=\"p\">;<\/span>\n            <span class=\"p\">}<\/span>\n\n        <span class=\"p\">}<\/span>\n<span class=\"p\">}<\/span>\n<\/pre>\n<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<\/dd>\n<\/dl>\n<p>Then create an init script to control the FastCGI process that matches the one shown below:<\/p>\n<dl class=\"file-excerpt\">\n<dt>\/etc\/rc.d\/init.d\/perl-fastcgi<\/dt>\n<dd>\n<div class=\"highlight shell\">\n<table>\n<tbody>\n<tr>\n<td class=\"gutter gl\">\n<pre class=\"lineno\"><\/pre>\n<\/td>\n<td class=\"code\">\n<pre><span class=\"c\">#!\/bin\/sh<\/span>\n<span class=\"c\">#<\/span>\n<span class=\"c\"># nginx \u2013 this script starts and stops the nginx daemon<\/span>\n<span class=\"c\">#<\/span>\n<span class=\"c\"># chkconfig: - 85 15<\/span>\n<span class=\"c\"># description: Nginx is an HTTP(S) server, HTTP(S) reverse <\/span>\n<span class=\"c\"># proxy and IMAP\/POP3 proxy server<\/span>\n<span class=\"c\"># processname: nginx<\/span>\n<span class=\"c\"># config: \/opt\/nginx\/conf\/nginx.conf<\/span>\n<span class=\"c\"># pidfile: \/opt\/nginx\/logs\/nginx.pid<\/span>\n\n<span class=\"c\"># Source function library.<\/span>\n. \/etc\/rc.d\/init.d\/functions\n\n<span class=\"c\"># Source networking configuration.<\/span>\n. \/etc\/sysconfig\/network\n\n<span class=\"c\"># Check that networking is up.<\/span>\n<span class=\"o\">[<\/span> <span class=\"s2\">\"<\/span><span class=\"nv\">$NETWORKING<\/span><span class=\"s2\">\"<\/span> <span class=\"o\">=<\/span> <span class=\"s2\">\"no\"<\/span> <span class=\"o\">]<\/span> <span class=\"o\">&amp;&amp;<\/span> <span class=\"nb\">exit <\/span>0\n\n<span class=\"nv\">perlfastcgi<\/span><span class=\"o\">=<\/span><span class=\"s2\">\"\/usr\/bin\/fastcgi-wrapper.pl\"<\/span>\n<span class=\"nv\">prog<\/span><span class=\"o\">=<\/span><span class=\"k\">$(<\/span>basename perl<span class=\"k\">)<\/span>\n\n<span class=\"nv\">lockfile<\/span><span class=\"o\">=<\/span>\/var\/lock\/subsys\/perl-fastcgi\n\nstart<span class=\"o\">()<\/span> <span class=\"o\">{<\/span>\n    <span class=\"o\">[<\/span> -x <span class=\"nv\">$perlfastcgi<\/span> <span class=\"o\">]<\/span> <span class=\"o\">||<\/span> <span class=\"nb\">exit <\/span>5\n    <span class=\"nb\">echo<\/span> -n <span class=\"s2\">$\"Starting <\/span><span class=\"nv\">$prog<\/span><span class=\"s2\">: \"<\/span>\n    daemon <span class=\"nv\">$perlfastcgi<\/span>\n    <span class=\"nv\">retval<\/span><span class=\"o\">=<\/span><span class=\"nv\">$?<\/span>\n    <span class=\"nb\">echo<\/span>\n    <span class=\"o\">[<\/span> <span class=\"nv\">$retval<\/span> -eq 0 <span class=\"o\">]<\/span> <span class=\"o\">&amp;&amp;<\/span> touch <span class=\"nv\">$lockfile<\/span>\n    <span class=\"k\">return<\/span> <span class=\"nv\">$retval<\/span>\n<span class=\"o\">}<\/span>\n\nstop<span class=\"o\">()<\/span> <span class=\"o\">{<\/span>\n    <span class=\"nb\">echo<\/span> -n <span class=\"s2\">$\"Stopping <\/span><span class=\"nv\">$prog<\/span><span class=\"s2\">: \"<\/span>\n    killproc <span class=\"nv\">$prog<\/span> -QUIT\n    <span class=\"nv\">retval<\/span><span class=\"o\">=<\/span><span class=\"nv\">$?<\/span>\n    <span class=\"nb\">echo<\/span>\n    <span class=\"o\">[<\/span> <span class=\"nv\">$retval<\/span> -eq 0 <span class=\"o\">]<\/span> <span class=\"o\">&amp;&amp;<\/span> rm -f <span class=\"nv\">$lockfile<\/span>\n    <span class=\"k\">return<\/span> <span class=\"nv\">$retval<\/span>\n<span class=\"o\">}<\/span>\n\nrestart<span class=\"o\">()<\/span> <span class=\"o\">{<\/span>\n    stop\n    start\n<span class=\"o\">}<\/span>\n\nreload<span class=\"o\">()<\/span> <span class=\"o\">{<\/span>\n    <span class=\"nb\">echo<\/span> -n <span class=\"nv\">$\u201d<\/span>Reloading <span class=\"nv\">$prog<\/span>: \u201d\n    killproc <span class=\"nv\">$nginx<\/span> -HUP\n    <span class=\"nv\">RETVAL<\/span><span class=\"o\">=<\/span><span class=\"nv\">$?<\/span>\n    <span class=\"nb\">echo<\/span>\n<span class=\"o\">}<\/span>\n\nforce_reload<span class=\"o\">()<\/span> <span class=\"o\">{<\/span>\n    restart\n<span class=\"o\">}<\/span>\nrh_status<span class=\"o\">()<\/span> <span class=\"o\">{<\/span>\n    status <span class=\"nv\">$prog<\/span>\n<span class=\"o\">}<\/span>\n\nrh_status_q<span class=\"o\">()<\/span> <span class=\"o\">{<\/span>\n    rh_status &gt;\/dev\/null 2&gt;&amp;1\n<span class=\"o\">}<\/span>\n\n<span class=\"k\">case<\/span> <span class=\"s2\">\"<\/span><span class=\"nv\">$1<\/span><span class=\"s2\">\"<\/span> <span class=\"k\">in\n    <\/span>start<span class=\"p\">)<\/span>\n        rh_status_q <span class=\"o\">&amp;&amp;<\/span> <span class=\"nb\">exit <\/span>0\n        <span class=\"nv\">$1<\/span>\n        <span class=\"p\">;;<\/span>\n    stop<span class=\"p\">)<\/span>\n        rh_status_q <span class=\"o\">||<\/span> <span class=\"nb\">exit <\/span>0\n        <span class=\"nv\">$1<\/span>\n        <span class=\"p\">;;<\/span>\n    restart<span class=\"p\">)<\/span>\n        <span class=\"nv\">$1<\/span>\n        <span class=\"p\">;;<\/span>\n    reload<span class=\"p\">)<\/span>\n        rh_status_q <span class=\"o\">||<\/span> <span class=\"nb\">exit <\/span>7\n        <span class=\"nv\">$1<\/span>\n        <span class=\"p\">;;<\/span>\n    force-reload<span class=\"p\">)<\/span>\n        force_reload\n        <span class=\"p\">;;<\/span>\n    status<span class=\"p\">)<\/span>\n        rh_status\n        <span class=\"p\">;;<\/span>\n    condrestart|try-restart<span class=\"p\">)<\/span>\n        rh_status_q <span class=\"o\">||<\/span> <span class=\"nb\">exit <\/span>0\n        <span class=\"p\">;;<\/span>\n    <span class=\"k\">*<\/span><span class=\"p\">)<\/span>\n        <span class=\"nb\">echo<\/span> <span class=\"s2\">$\"Usage: <\/span><span class=\"nv\">$0<\/span><span class=\"s2\"> {start|stop|status|restart|condrestart|try-restart|reload|force-reload}\"<\/span>\n        <span class=\"nb\">exit <\/span>2\n    <span class=\"k\">esac<\/span>\n<\/pre>\n<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<\/dd>\n<\/dl>\n<p>Next issue the following commands to make the scripts executable and set the perl-fastcgi process to start on boot:<\/p>\n<div class=\"highlight plaintext\">\n<table style=\"padding-left: 30px;\">\n<tbody>\n<tr>\n<td class=\"gutter gl\">\n<pre class=\"lineno\"><\/pre>\n<\/td>\n<td class=\"code\">\n<pre>chmod +x \/usr\/bin\/fastcgi-wrapper.pl\nchmod +x \/etc\/rc.d\/init.d\/perl-fastcgi\n\/etc\/rc.d\/init.d\/perl-fastcgi start\nchkconfig --add perl-fastcgi\nchkconfig perl-fastcgi on\n<\/pre>\n<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<h2 id=\"test-perl-with-fastcgi\">Test Perl with FastCGI<\/h2>\n<p>Create a file called \u201ctest.pl\u201d in your site\u2019s \u201cpublic_html\u201d directory with the following contents:<\/p>\n<dl class=\"file\">\n<dt>\/srv\/www\/www.example.com\/public_html\/test.pl<\/dt>\n<dd>\n<div class=\"highlight perl\">\n<table>\n<tbody>\n<tr>\n<td class=\"gutter gl\">\n<pre class=\"lineno\"><\/pre>\n<\/td>\n<td class=\"code\">\n<pre><span class=\"c1\">#!\/usr\/bin\/perl<\/span>\n\n<span class=\"k\">print<\/span> <span class=\"s\">\"Content-type:text\/htmlnn\"<\/span><span class=\"p\">;<\/span>\n<span class=\"k\">print<\/span> <span class=\"s\">&lt;&lt;EndOfHTML;\n&lt;html&gt;&lt;head&gt;&lt;title&gt;Perl Environment Variables&lt;\/title&gt;&lt;\/head&gt;\n&lt;body&gt;\n&lt;h1&gt;Perl Environment Variables&lt;\/h1&gt;\nEndOfHTML\n<\/span>\n<span class=\"k\">foreach<\/span> <span class=\"nv\">$key<\/span> <span class=\"p\">(<\/span><span class=\"nb\">sort<\/span><span class=\"p\">(<\/span><span class=\"nb\">keys<\/span> <span class=\"nv\">%ENV<\/span><span class=\"p\">))<\/span> <span class=\"p\">{<\/span>\n    <span class=\"k\">print<\/span> <span class=\"s\">\"$key = $ENV{$key}&lt;br&gt;n\"<\/span><span class=\"p\">;<\/span>\n<span class=\"p\">}<\/span>\n\n<span class=\"k\">print<\/span> <span class=\"s\">\"&lt;\/body&gt;&lt;\/html&gt;\"<\/span><span class=\"p\">;<\/span>\n<\/pre>\n<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<\/dd>\n<\/dl>\n<p>Make the script executable by issuing the following command:<\/p>\n<div class=\"highlight plaintext\">\n<table>\n<tbody>\n<tr>\n<td class=\"gutter gl\">\n<pre class=\"lineno\">1<\/pre>\n<\/td>\n<td class=\"code\">\n<pre>chmod a+x \/srv\/www\/www.example.com\/public_html\/test.pl\n<\/pre>\n<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<p>When you visit <code>http:\/\/www.example.com\/test.pl<\/code> in your browser, your Perl environment variables should be shown. Congratulations, you\u2019ve configured the nginx web server to use Perl with FastCGI for dynamic content!<\/p>\n<p>&nbsp;<\/p>\n<pre># wget http:\/\/ftp.mozilla.org\/pub\/mozilla.org\/webtools\/bugzilla-4.4.tar.gz<\/pre>\n<p>Unpack it to the desired directory:<\/p>\n<pre># tar zxvf bugzilla-4.2.2.tar.gz -C \/var\/www\/html\/<\/pre>\n<p>Enter the directory that contains the unpacked Bugzilla installation and rename the \u201cbugzilla-${VERSION}\u201d directory to something more convenient for web access:<\/p>\n<pre># cd \/var\/www\/html\/\n\n# mv -v bugzilla-4.4 bugzilla<\/pre>\n<p>Login to mysql using \u2018root\u2019 as user and your mysql \u2018root\u2019 password, and create a database for the Bugzilla installation:<\/p>\n<pre># mysql -uroot -p<\/pre>\n<pre>mysql&gt; create database bugzilla_DB;<\/pre>\n<p>Grant all privileges on the database you just created to a newly created user and identify it by his own password:<\/p>\n<pre>mysql&gt; grant all on bugzilla_DB.* to some_user@localhost identified by 'random_password';<\/pre>\n<p>and exit mysql:<\/p>\n<pre>mysql&gt; q<\/pre>\n<p>Run the following command to find the necessary modules:<\/p>\n<pre># .\/checksetup.pl<\/pre>\n<p>After the checksetup.pl script is done, install the necessary and the optional modules by executing:<\/p>\n<pre># \/usr\/bin\/perl install-module.pl --all<\/pre>\n<p>Once the modules are installed, run the checksetup.pl script again to generate the localconfig file:<\/p>\n<pre># .\/checksetup.pl<\/pre>\n<p>Use your favorite text editor (in this case vim) and edit the $db_name, $db_user and $db_pass entries in the \u2018localconfig\u2019 file and fill them with the mysql database information we set earlier:<\/p>\n<pre># vim .\/localconfig<\/pre>\n<p>Again, run the checksetup script to set initial configuration:<\/p>\n<pre># .\/checksetup.pl<\/pre>\n<p>Next, these few lines need to be appended to the apache config file:<\/p>\n<pre># vim \/etc\/httpd\/conf\/httpd.conf<\/pre>\n<p><code>&lt;Directory \/var\/www\/html\/bugzilla&gt;<br \/>\nAddHandler cgi-script .cgi<br \/>\nOptions +Indexes +ExecCGI<br \/>\nDirectoryIndex index.cgi<br \/>\nAllowOverride Limit FileInfo Indexes<br \/>\n&lt; \/Directory&gt;<\/code><\/p>\n<p>Save the file and execute the following command to restart the webserver:<\/p>\n<pre># service httpd restart<\/pre>\n<p>That\u2019s it! Open http:\/\/&lt;IP_ADDRESS_OR_HOSTNAME&gt;\/bugzilla and start organizing your software development!<\/p>\n<p>NOTE: In case of \u201c500 Internal Server Error\u201d on your first try to access Bugzilla, please check for the \u201cOptions\u201d line in the .htaccess file and comment it out.<\/p>\n<p>Of course, if you are one of our <a title=\"Linux VPS Hosting\" href=\"https:\/\/www.rosehosting.com\/linux-vps-hosting.html\" target=\"_blank\">Linux VPS Hosting<\/a> customers, you don\u2019t have to do any of this, simply ask our admins, sit back and relax. Our admins will install Bugzilla for you immediately.<\/p>\n<p><strong>PS.<\/strong> If you liked this post please share it with your friends on the social networks using the buttons on the left or simply leave a reply below. Thanks.<\/p>\n<p>&nbsp;<\/p>\n<h2 id=\"more-information\">More Information<\/h2>\n<p>You may wish to consult the following resources for additional information on this topic. While these are provided in the hope that they will be useful, please note that we cannot vouch for the accuracy or timeliness of externally hosted materials.<\/p>\n<ul>\n<li><a href=\"http:\/\/nginx.org\/\">The nginx Homepage<\/a><\/li>\n<li><a href=\"http:\/\/www.fastcgi.com\/\">FastCGI Project Homepage<\/a><\/li>\n<li><a href=\"http:\/\/perldoc.perl.org\/\">Perl Documentation<\/a><\/li>\n<li><a href=\"https:\/\/www.linode.com\/docs\/web-servers\/nginx\/installation\/centos-5\">Installing Nginx on CentOS 5<\/a><\/li>\n<li><a href=\"https:\/\/www.linode.com\/docs\/websites\/nginx\/basic-nginx-configuration\">Basic Ngnix Configuration<\/a><\/li>\n<\/ul>\n","protected":false},"excerpt":{"rendered":"<p>Set the Hostname Before you begin installing and configuring the components described in this guide, please make sure you\u2019ve followed our instructions for setting your hostname. Issue the following commands to make sure it is set properly: hostname hostname -f The first command should show your short hostname, and the second should show your fully qualified domain name (FQDN). Install Required Packages CentOS doesn\u2019t include nginx in their repositories, so you\u2019ll need to add support for EPEL (Extra Packages for Enterprise Linux) from the Fedora project. Issue the following command: rpm -Uvh http:\/\/download.fedora.redhat.com\/pub\/epel\/5\/i386\/epel-release-5-4.noarch.rpm Issue the following commands to update your system and install the nginx web server and compiler tools (Perl should already be installed): yum update yum install nginx make automake gcc gcc-c++ fcgi-perl wget yum install nginx fcg-perl wget chkconfig &#8211;add nginx chkconfig nginx on \/etc\/init.d\/nginx start You\u2019ll be asked to accept the key for EPEL, as it gets imported the first time you install an EPEL package. Configure Virtual Hosting In this guide, the domain \u201cexample.com\u201d is used as an example site. You should substitute your own domain name in the configuration steps that follow. First, create directories to hold content and log files: mkdir -p \/srv\/www\/www.example.com\/public_html [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_mi_skip_tracking":false,"ngg_post_thumbnail":0,"spay_email":"","jetpack_publicize_message":"","jetpack_is_tweetstorm":false,"jetpack_publicize_feature_enabled":true},"categories":[17,5,7],"tags":[],"aioseo_notices":[],"jetpack_featured_media_url":"","jetpack_publicize_connections":[],"jetpack_sharing_enabled":true,"jetpack_shortlink":"https:\/\/wp.me\/p5q9Zn-cm","jetpack-related-posts":[{"id":718,"url":"https:\/\/blog.box.kr\/?p=718","url_meta":{"origin":766,"position":0},"title":"How To Install Linux, Nginx, MySQL, PHP (LEMP) stack On CentOS 7","date":"2015-04-15","format":false,"excerpt":"https:\/\/www.digitalocean.com\/community\/tutorials\/how-to-install-linux-nginx-mysql-php-lemp-stack-on-centos-7 \u00a0 How To Install Linux, Nginx, MySQL, PHP (LEMP) stack On CentOS 7 Introduction A LEMP software stack is a group of open source software that is typically installed together to enable a server to host dynamic websites and web apps. This term is actually an acronym which represents\u2026","rel":"","context":"In &quot;\uae30\uc220\uc790\ub8cc&quot;","img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]},{"id":775,"url":"https:\/\/blog.box.kr\/?p=775","url_meta":{"origin":766,"position":1},"title":"Setup mail server on centos 7","date":"2015-05-12","format":false,"excerpt":"This article helps you to install and configure basic mail server on Centos 7. Here i have used Postfix for SMTP, Dovecot for POP\/IMAP and Dovecot SASL for SMTP AUTH. Before proceeding please make sure you have assigned static IP for the server and have internet connectivity for installing packages.\u2026","rel":"","context":"In &quot;\uae30\uc220\uc790\ub8cc&quot;","img":{"alt_text":"Setup mail server on centos 7","src":"https:\/\/i0.wp.com\/1-ps.googleusercontent.com\/hk\/AwAJwg9ecIBNxEHGg0w8SfePD8\/www.krizna.com\/wp-content\/uploads\/2015\/01\/Setup_mail_server_centos_7.png.pagespeed.ce._so1uJb5qKCs4NSN7OOP.png?resize=350%2C200","width":350,"height":200},"classes":[]},{"id":63,"url":"https:\/\/blog.box.kr\/?p=63","url_meta":{"origin":766,"position":2},"title":"JEUS\uc5d0\uc11c CLASSPATH \ucd94\uac00","date":"2014-06-12","format":false,"excerpt":"JEUS\uc5d0\uc11c CLASSPATH \ucd94\uac00 C:TmaxSoftJEUS5.0binjeus.properties.cmd \ud30c\uc77c \uc5f4\uc5b4\uc11c SET TOOL_CLASSPATH= \uc5d0 \ucd94\uac00 \ucee8\ud14c\uc774\ub108 \ubcc4 \uc601\uc5ed C:TmaxSoftJEUS5.0config`hostname`JEUSMain.xml <jeus-system> <node> <engine-container> <user-class-path> Description : Engine Container \ub97c \uc2e4\ud589\ud558\ub294 JVM\uc758 classpath\uc5d0 \ud328\uc2a4\ub97c \ucd94\uac00\ud55c\ub2e4. \uc774 \uc124\uc815\uc740 default Engine Container\uc5d0\ub294 \uc801\uc6a9\ub418\uc9c0 \uc54a\ub294\ub2e4. Value Description : \u201c;\u201d\ub85c \uad6c\ubd84\ub418\ub294 classpath(\uc720\ub2c9\uc2a4\uc758 \uacbd\uc6b0 \u201c:\u201d Value Type : token Example < user-class-path>c:mylibclasses;c:myliblibmylib.jar\u2026","rel":"","context":"In &quot;JEUS &amp; WEBToB&quot;","img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]},{"id":750,"url":"https:\/\/blog.box.kr\/?p=750","url_meta":{"origin":766,"position":3},"title":"NGINX: SELinux Changes when Upgrading to RHEL 6.6 \/ CentOS 6.6","date":"2015-05-08","format":false,"excerpt":"If you upgrade a running system to Red Hat Enterprise Linux (RHEL) 6.6 or CentOS 6.6, the Security Enhanced Linux (SELinux) security permissions that apply to NGINX are\u00a0relabelled to a much stricter posture. Although the permissions are adequate for the default configuration of NGINX, configuration for additional features can be\u2026","rel":"","context":"In &quot;Linux&quot;","img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]},{"id":762,"url":"https:\/\/blog.box.kr\/?p=762","url_meta":{"origin":766,"position":4},"title":"Install and configure Nginx, MariaDB &amp; PHP-FPM in CentOS 7 (RHEL7)","date":"2015-05-08","format":false,"excerpt":"https:\/\/stavrovski.net\/blog\/install-and-configure-nginx-mariadb-php-fpm-in-centos-7-rhel7 \u00a0 The following is a quick-N-dirty write-up on\u00a0how to install and configure the LEMP stack (Nginx, MariaDB and PHP-FPM) in\u00a0CentOS 7. I use this as a reference\/guide whenever I need to deploy the\u00a0LEMP stack\u00a0on RHEL based machines. TABLE OF CONTENTS Enable EPEL Repository Update CentOS 7 Install and configure\u2026","rel":"","context":"In &quot;Linux&quot;","img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]},{"id":74,"url":"https:\/\/blog.box.kr\/?p=74","url_meta":{"origin":766,"position":5},"title":"Logging\uc124\uc815 for JEUS5","date":"2014-06-12","format":false,"excerpt":"Logging\uc124\uc815 for JEUS5 \uc18c\uac1c \uc774 \ubb38\uc11c\ub294 JEUS 5\uc758 \uc6f9 \uad00\ub9ac\uc790\ub97c \uc0ac\uc6a9\ud55c logging \uc124\uc815 \ubc29\ubc95 \ubc0f customization \ubc29\ubc95, log4j \uc0ac\uc6a9\ubc95 \ub4f1\uc744 \uc124\uba85\ud55c\ub2e4. \uae30\ubcf8logger \ud30c\uc77c \ucd5c\ucd08 JEUS \uc124\uce58 \uc2dc, JEUS log\ub294 default\ub85c console handler\ub97c \uc0ac\uc6a9\ud558\uae30 \ub54c\ubb38\uc5d0 JEUS manager\uc640 \ubaa8\ub4e0 engine container\uc758 log message\uac00 stdout\ud615\ud0dc\ub85c \ucd9c\ub825\ub41c\ub2e4. \ub610\ud55c web container \uc758 access log\uac00 $JEUS_HOME\/logs\/<\ub178\ub4dc\uba85>\/<\ub178\ub4dc\uba85>_<\ucee8\ud14c\uc774\ub108\uba85>\/servlet\/accesslog\/access.log\u2026","rel":"","context":"In &quot;JEUS &amp; WEBToB&quot;","img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]}],"_links":{"self":[{"href":"https:\/\/blog.box.kr\/index.php?rest_route=\/wp\/v2\/posts\/766"}],"collection":[{"href":"https:\/\/blog.box.kr\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/blog.box.kr\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/blog.box.kr\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/blog.box.kr\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=766"}],"version-history":[{"count":0,"href":"https:\/\/blog.box.kr\/index.php?rest_route=\/wp\/v2\/posts\/766\/revisions"}],"wp:attachment":[{"href":"https:\/\/blog.box.kr\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=766"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/blog.box.kr\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=766"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/blog.box.kr\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=766"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}