情シス - 雑多メモ

基本は情シス、たまに開発を担当

Codeigniterのindex.php

Codeigniterの初期状態は、URLに「index.php」を含む設定になっています。

環境:Codeigniter-3.1.4

URL例)

example.com/index.php/news/article/my_article


[参考]Codeigniter公式
CodeIgniter の URL — CodeIgniter 3.2.0-dev ドキュメント


index.phpと同じ階層に.htaccessを設置し、除外ルールを記述することでURLから「index.php」を省略してアクセスすることができます。
URLから「index.php」を取り除きたい場合は以下の通りです。


Apacheの設定

.htaccessの読み込みが有効になっていることを確認
AllowOverride  「None」の場合は「All」に変更してApacheを再起動する

    #
    # AllowOverride controls what directives may be placed in .htaccess files.
    # It can be "All", "None", or any combination of the keywords:
    #   Options FileInfo AuthConfig Limit
    #
    AllowOverride All

.htaccessの編集

RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ /index.php/$1 [L]

config.phpの編集

application/config/config.phpの[index_page]を''に変更

/*
|--------------------------------------------------------------------------
| Index File
|--------------------------------------------------------------------------
|
| Typically this will be your index.php file, unless you've renamed it to
| something else. If you are using mod_rewrite to remove the page set this
| variable so that it is blank.
|
*/
$config['index_page'] = '';

atomが起動しなくなったときの備忘【Win】

起動エラーの場合は、何らかしらのパッケージが邪魔・悪さをしている可能性が高いようです。


1.atomをセーフモードで起動してみる

コマンドプロンプトで実行

atom --safe

 ※セーフモードは「パッケージを一切読み込まない」モード


2.全パッケージを最新化してみる

apm update

例)

C:\>apm update
Package Updates Available (1)
└── japanese-menu 1.12.0 -> 1.13.0

Would you like to install these updates? (yes) yes

Installing japanese-menu@1.13.0 to C:\Users\xxxxx\.atom\packages done

これで起動しなければ、最近追加したパッケージを疑う


3.apm listでパッケージを一覧化して不要パッケージを削除する

apm uninstall パッケージ名


【追記】
4.SquirrelSetup.logを確認

PukiWikiの備忘

【環境】
PukiWiki:Version 1.5.1
PHP 5.4.16


PukiWiki公式サイトマニュアルページの備忘リンク

インストール・初期設定
https://pukiwiki.osdn.jp/?PukiWiki/Install#ga890799


特定ページに認証をかけたい場合
https://pukiwiki.osdn.jp/?PukiWiki/Authentication


MenuBarのQA -- QA デザイン CSS --
https://pukiwiki.osdn.jp/?Q%EF%BC%86A/%E3%83%87%E3%82%B6%E3%82%A4%E3%83%B3%E3%83%BBCSS#ub313802


カスタマイズ全般
https://pukiwiki.osdn.jp/?%E3%82%AB%E3%82%B9%E3%82%BF%E3%83%9E%E3%82%A4%E3%82%BA


スキン
https://pukiwiki.osdn.jp/?%E3%82%B9%E3%82%AD%E3%83%B3

CentOS 7ではまったこと:/var/run直下のディレクトリが消える

CentOS7 系の /var/run ディレクトリは /run ディレクトリのシンボリックリンク
実態の/runディレクトリは tmpfs ファイルシステムでマウントされています。

$ ls -ld /var/run
lrwxrwxrwx. 1 root root 6  2月 18  2016 /var/run -> ../run

$ df -k
ファイルシス            1K-ブロック    使用  使用可 使用% マウント位置
/dev/mapper/centos-root     8869888 1055424 7814464   12% /
devtmpfs                     498144       0  498144    0% /dev
tmpfs                        508388       0  508388    0% /dev/shm
tmpfs                        508388    6600  501788    2% /run
tmpfs                        508388       0  508388    0% /sys/fs/cgroup
/dev/vda1                    508588  126316  382272   25% /boot
tmpfs                        101680       0  101680    0% /run/user/0

ちなみに CentOS6系の/var/runは実在するディレクトリです。

$ ls -ld /var/run
drwxr-xr-x. 14 root root 4096  4月  5 17:14 2017 /var/run


よって、OSを再起動すると、/run (/var/run)に置かれたファイル・ディレクトリは全て削除されてしまいます。
今回は ZabbixAgentd の PID ファイル(/var/run/zabbix/zabbix_agentd.pid)が作れず起動失敗していたことで発覚しました。


対応方法

systemd の systemd-tempfiles に要因
システム起動時にファイル・ディレクトリが自動的に作成されるようにする

/etc/tmpfiles.d に設定ファイルを作成する

$ vi /etc/tmpfiles.d/hoge.conf

以下のように記述する

#Type   Path                    Mode    UID     GID   Age  Argument
d       /var/run/hoge           0755    hoge    hoge  -

記述は /usr/lib/tmpfiles.d ディレクトリ内に既に多くの設定ファイルが保存されているのでそちらを参考に

ちなみにシンボリックリンクを作成したい場合は以下のように記述する

#Type   Path                    Mode    UID     GID   Age  Argument
d       /var/run/hoge           0755    hoge    hoge  -
L+      /var/run/hogelink       -       -       -     -    /var/run/hoge


※/usr/lib/tmpfiles.d < /etc/tmpfiles.d が優先される

rpmコマンドメモ ~rpmパッケージの詳細を確認したい~

gccを例に



■インストール済みの特定パッケージの詳細を確認したい

$ rpm -qi gcc

[出力例]

Name        : gcc
Version     : 4.8.5
Release     : 4.el7
Architecture: x86_64
Install Date: yyyymmdd hh:mm:ss
Group       : Development/Languages
Size        : 39010978
License     : GPLv3+ and GPLv3+ with exceptions and GPLv2+ with exceptions and LGPLv2+ and BSD
Signature   : RSA/SHA256, yyyymmdd hh:mm:ss, Key ID xxxxxxxx
Source RPM  : gcc-4.8.5-4.el7.src.rpm
Build Date  : yyyymmdd hh:mm:ss
Build Host  : worker1.bsys.centos.org
Relocations : (not relocatable)
Packager    : CentOS BuildSystem <http://bugs.centos.org>
Vendor      : CentOS
URL         : http://gcc.gnu.org
Summary     : Various compilers (C, C++, Objective-C, Java, ...)
Description :
The gcc package contains the GNU Compiler Collection version 4.8.
You'll need this package in order to compile C code.


■インストール前にrpmパッケージの詳細を確認したい

$ rpm -qip <rpmファイル名>

 上記と同じ出力結果


■インストールされたファイルのリストを確認したい

$ rpm -ql gcc