CentOS

centos nextcloud php74

yum install --enablerepo=remi,remi-php74 php php-cli php-common php-devel php-fpm php-gd php-intl php-json php-mbstring php-mcrypt php-mysqlnd php-opcache php-pdo php-pecl-apcu php-pecl-apcu-bc php-pecl-zip php-process php-xml php-imagick php-gmp php-bcmath

centos upgrade to 8 from 7

稼働中のCentOS7からCentOS8にアップグレードしたメモ。

sudo yum -y update
sudo yum -y install epel-release
sudo yum -y install yum-utils
sudo yum -y install rpmconf
sudo rpmconf -a
 「rpmconf -a」を実行すると下記表示になる
 
What would you like to do about it ?  Your options are:
    Y or I  : install the package maintainer's version
    N or O  : keep your currently-installed version
      D     : show the differences between the versions
      M     : merge configuration files
      Z     : background this process to examine the situation
      S     : skip this file
 The default action is to keep your current version.
*** aliases (Y/I/N/O/D/Z/S) [default=N] ?
特にオプションを指定しない場合はそれぞれEnterキー押下でデフォルトの"N"が選択される

パッケージをクリーンアップする

sudo package-cleanup --leaves
sudo package-cleanup --orphans
CentOS8からはyumとはもうお別れ、dnfを入れます。

 https://ja.wikipedia.org/wiki/DNF_(%E3%82%BD%E3%83%95%E3%83%88%E3%82%A6%E3%82%A7%E3%82%A2)

Yumは下記に挙げる欠点を抱えていた。

ドキュメント化されていない
依存関係解決アルゴリズムが壊れている
内部関数をリファクタリングすることが不可能 また、YumはPython 2で書かれており、パフォーマンス面で遅くメモリを大量に消費してメモリーリークを引き起こしがちになるなどの問題もあった。
sudo yum -y install dnf
sudo dnf -y remove yum yum-metadata-parser
sudo rm -Rf /etc/yum
sudo dnf upgrade -y
sudo dnf -y upgrade http://mirror.bytemark.co.uk/centos/8.0.1905/BaseOS/x86_64/os/Packages/centos-release-8.0-0.1905.0.9.el8.x86_64.rpm
sudo dnf -y upgrade https://dl.fedoraproject.org/pub/epel/epel-release-latest-8.noarch.rpm
sudo dnf clean all
sudo rpm -e `rpm -q kernel`
sudo rpm -e --nodeps sysvinit-tools
sudo dnf -y --releasever=8 --allowerasing --setopt=deltarpm=false distro-sync
sudo dnf -y install kernel-core
sudo dnf -y groupupdate "Core" "Minimal Install" --allowerasing
最後に再起動する

shutdown -r now
再起動したら下記コマンドでアップグレードの確認

cat /etc/redhat-release
CentOS Linux release 8.0.1905 (Core)

zfs on centos7.6

  • dkmsは使えないっぽい

 # yum install http://download.zfsonlinux.org/epel/zfs-release.el7_6.noarch.rpm

したら、/etc/yum.repos.d/zfs.repoを弄って dkmsのenabled=1を0に kmodのenabled=0を1にする

wiki.js

# curl -sso- https://wiki.js.org/install.sh | bash
# node wiki configure
# node wiki start/restart/stop

node.js

リポジトリを追加
$ curl -sL https://rpm.nodesource.com/setup_8.x | sudo bash -
インストール
$ sudo yum install nodejs
バージョン確認
$ node -v

mongodb

$ sudo vi /etc/yum.repos.d/mongodb-org-3.4.repo
mongodb-org-3.4.repo
[mongodb-org-3.4]
name=MongoDB Repository
baseurl=https://repo.mongodb.org/yum/redhat/$releasever/mongodb-org/3.4/x86_64/
gpgcheck=1
enabled=1
gpgkey=https://www.mongodb.org/static/pgp/server-3.4.asc

改めてインストール

$ yum -y install mongodb-org
# systemctl start mongod
# systemctl enable mongod

git

  • デフォルトでインストールされるバージョンは古い
  • epel-releaseをインストールする必要あり
# yum -y remove git
# yum -y install curl-devel expat-devel gettext-devel openssl-devel perl-devel zlib-devel autoconf asciidoc xmlto docbook2X make gcc
# ln -s /usr/bin/db2x_docbook2texi /usr/bin/docbook2x-texi
# wget https://github.com/git/git/archive/v2.15.1.tar.gz
# tar -zxf v2.21.0.tar.gz
# cd git-2.21.0
# make configure
# ./configure --prefix=/usr
# make all doc info
# make install install-doc install-html install-info
# git --version

PHP composer

curl https://getcomposer.org/installer | php
mv -i composer.phar /usr/local/bin/composer

Lets Encrypt

#yum install certbot certbot-apache
  • Virtualhost設定
NameVirtualHost *:80

<VirtualHost *:80>
   ServerAdmin [管理者のメールアドレス]
   DocumentRoot [HTMLのルートディレクトリパス]
   ServerName [ホスト名]
</VirtualHost>
# certbot run --apache -d www.opendata.to -d opendata.to
# crontab -e
00 04 01 * * /usr/bin/certbot-auto renew --force-renew && service httpd graceful

apache mod_proxy

  • サブディレクトリで別サーバ上のサブディレクトリをプロキシする
ProxyRequests Off
ProxyPass /blog http://192.168.0.xxx/blog
ProxyPassReverse /blog http://192.168.0.xxx/blog

virsh

virsh list -all
virsh start hogehoge
virsh shutdown hogehoge
virsh suspend hogehoge
virsh reset hogehoge
  • only from host
virsh console hogehoge
  • save and restore
virsh save hogehoge file
virsh restore hogehoge 

xorg cui for vm

yum -y groupinstall "Server with GUI" "Virtualization Host"

nextcloud mysql 8.0

CREATE USER  nextcloud@localhost  IDENTIFIED  WITH  mysql_native_password  BY 'hoge';
grant all privileges on nextcloud.* to nextcloud@localhost;
yum install --enablerepo=remi-php71 php-pecl-zip php-imagick
opcache.enable=1
opcache.enable_cli=1
opcache.interned_strings_buffer=8
opcache.max_accelerated_files=10000
opcache.memory_consumption=128
opcache.save_comments=1
opcache.revalidate_freq=1

mysql-8.0

  • 性能最大2倍
  • NoSQL
  • GIS
https://dev.mysql.com/downloads/repo/yum/
https://dev.mysql.com/get/mysql80-community-release-el7-2.noarch.rpm
systemctl start mysqld
systemctl enable mysqld
grep password /var/log/mysqld.log
mysql_secure_installation --use-default
Ge....nv!

KVM

### 必要ソフトウェアのインストール
% sudo yum -y install libguestfs libvirt libvirt-client python-virtinst qemu-kvm virt-manager virt-top virt-viewer virt-who virt-install bridge-utils
### libvirtdの起動
% sudo systemctl start libvirtd
### libvirtdの自動起動設定
% sudo systemctl enable libvirtd

mysql8.0

yum install https://dev.mysql.com/get/mysql80-community-release-el7-1.noarch.rpm
yum install mysql-community-server
mysql_secure_installation
grep "temporary password" /var/log/mysqld.log

WP

<?php
$address = get_field('usp_address'); // カスタムフィールドの値を取得
echo do_shortcode('[map addr="' . $address . '"]');
?>

emacs-anthy-el

(set-language-environment "Japanese")
(setq default-input-method "japanese-anthy")
(global-set-key (kbd "C-o") 'toggle-input-method)
(prefer-coding-system 'utf-8)

zfs upgrade

# dkms status
Error! Could not locate dkms.conf file.
File: does not exist.

とか

# dkms status
spl, 0.7.1, 3.10.0-514.26.2.el7.x86_64, x86_64: installed
zfs, 0.7.1, 3.10.0-514.26.2.el7.x86_64, x86_64: installed (WARNING! Diff between built and installed module!) (WARNING! Diff between built and installed module!) (WARNING! Diff between built and installed module!) (WARNING! Diff 
between built and installed module!)

みたいな結果になって、うまくZFSのモジュールが読み込めない。zpoolがマウントでき ない。
どうもupgradeの手順だけだと、dkms関連のファイルが残るっぽい。
以下の手順でいけた。古いカーネルの削除はお好みで。

# yum remove zfs zfs-kmod spl spl-kmod libzfs2 libnvpair1 libuutil1 libzpool2 zfs-release kernel-devel
# rpm -qa | grep kernel
# yum remove {アクティブでないカーネル}
# rm -rf /usr/module/{アクティブでないカーネル}
# rm -rf /var/lib/dkms

これで根こそぎ削除されるはず。
次にインストール

# yum install http://download.zfsonlinux.org/epel/zfs-release.el7_3.noarch.rpm
# yum install kernel-devel zfs
# modprobe zfs
# zpool import -a
# zpool status

modprobe zfsで以下のようにうまくいかない場合は、こうする。

# zpool import -a
The ZFS modules are not loaded.
Try running '/sbin/modprobe zfs' as root to load them.

# modprobe zfs
modprobe: ERROR: could not insert 'zfs': Unknown symbol in module, or unknown 
parameter (see dmesg)

# dkms remove -m zfs -v 0.7.1 --all
# dkms remove -m spl -v 0.7.1 --all
# dkms --force install -m spl -v 0.7.1
# dkms --force install -m zfs -v 0.7.1
# dkms status
spl, 0.7.1, 3.10.0-514.26.2.el7.x86_64, x86_64: installed
zfs, 0.7.1, 3.10.0-514.26.2.el7.x86_64, x86_64: installed

wp-ulike カスタム表示

# vi classes/class-wp-ulike.php

mysql status

  • 無設定
    +------------------------------+---------+
    | Variable_name                | Value   |
    +------------------------------+---------+
    | query_cache_limit            | 1048576 |
    | query_cache_min_res_unit     | 4096    |
    | query_cache_size             | 1048576 |
    | query_cache_type             | OFF     |
    | query_cache_wlock_invalidate | OFF     |
    +------------------------------+---------+
+-------------------------+---------+
| Variable_name           | Value   |
+-------------------------+---------+
| Qcache_free_blocks      | 1       |
| Qcache_free_memory      | 1031352 |
| Qcache_hits             | 0       |
| Qcache_inserts          | 0       |
| Qcache_lowmem_prunes    | 0       |
| Qcache_not_cached       | 24451   |
| Qcache_queries_in_cache | 0       |
| Qcache_total_blocks     | 1       |
+-------------------------+---------+

centos7 mysql query_cache

vi /etc/my.cnf
query_cache_type = 1
query_cache_size = 512M
query_cache_limit = 16M
show variables like '%query_cache_%';
show global status like "%QCache%";
SELECT (SELECT VARIABLE_VALUE FROM INFORMATION_SCHEMA.GLOBAL_STATUS WHERE VARIABLE_NAME = 'QCACHE_HITS')/(SELECT SUM(VARIABLE_VALUE)    FROM INFORMATION_SCHEMA.GLOBAL_STATUS   WHERE VARIABLE_NAME IN ('QCACHE_HITS','QCACHE_INSERTS','QCACHE_NOT_CACHED'))*100 AS CACHE_HIT_RATE;

centos mysqlデータディレクトリ変更

/etc/init.d/mysql stop
●mysqlの停止
cp my.cnf my.cnf.back
●my.cnfのバックアップ
vi my.cnf
●my.cnfの編集
socket = /test/mysql/mysql.sock
log-slow-queries = /test/mysql
log-bin = /test/mysql/mysql-bin
innodb_data_home_dir = /test/mysql/
innodb_log_group_home_dir = /test/mysql/
●ログやらデータディレクトリやらの指定を新ディレクトリに変更する


vi /etc/init.d/mysql
●起動ファイルを編集する


datadir=/var/lib/mysql  →  datadir=/test/mysql
●datadirを変更
cp -pR /var/lib/mysql/* /test/mysql
●ディレクトリお引越し
/etc/init.d/mysql start
●mysqlを起動
mysqladmin variables -u root -p | grep "/var/lib/mysql"
●旧ディレクトリに向いている設定が無いか確認
無ければ/var/lib/mysqlを削除して終了

centos gitbucket

# yum install java-1.8.0-openjdk-devel
# yum install tomcat
$ cd /usr/share/tomcat/webapps
$ wget https://github.com/takezoe/gitbucket/releases/download/4.31.1/gitbucket.war -O gitbucket.war
  • 以下のコメントアウトは最新版では必要なし
vi /usr/share/tomcat/conf/server.xml
コメントアウト

<!--
  <connector port="8080" protocol="HTTP/1.1"
             connectionTimeout="20000"
             redirectPort="8443">
-->
vi /etc/httpd/conf.d/gitbucket.conf

<Location /gitbucket>
    ProxyPass ajp://localhost:8009/gitbucket
</Location>
$ sudo systemctl start tomcat
$ sudo systemctl enable tomcat
$ sudo systemctl start httpd
$ sudo systemctl enable httpd
  • デフォルトレポジトリ場所変更
# vi /etc/sysconfig/tomcat
GITBUCKET_HOME=/home2/www/gitbucket
# cp -aR /usr/share/tomcat/.gitbucket/* /home2/www/gitbucket/.
$ sudo systemctl restart tomcat
$ sudo systemctl restart httpd
  • MySQL利用
mysql -uroot -p -hlocalhost
create database gitbucket;
grant all privileges on `gitbucket`.* to testuser@localhost identified by 'testpassword';
flush privileges; 
quit
GITBUCKET_HOME/database.conf
db {
  url = "jdbc:mysql://localhost/gitbucket?useUnicode=true&characterEncoding=utf8"
  user = "testuser"
  password = "testpassword"
}

centos usermod

# usermod -d /home2/endo endo

centos php-pfm

[root@www ~]# vi /etc/httpd/conf.d/php.conf
# 5行目:以下のように変更
<FilesMatch \.php$>
#    SetHandler application/x-httpd-php
    SetHandler "proxy:fcgi://127.0.0.1:9000" 
</FilesMatch>
[root@www ~]# systemctl start php-fpm 
[root@www ~]# systemctl enable php-fpm 
[root@www ~]# systemctl restart httpd 

centos

  • remi
    # yum install wget
    # wget http://rpms.famillecollet.com/enterprise/remi-release-7.rpm
    # rpm -Uvh remi-release-7.rpm
結局
yum install --enablerepo=epel,remi-php71 php php-mcrypt php-mbstring php-fpm php-mysqlnd php-opcache php-apcu
  • apcu設定(/etc/php.d/40-apcu.ini)
    ;apc.shm_size=32M
    apc.shm_size=128M ←追記
     
    ;apc.ttl=0
    apc.ttl=86400
     
    ;apc.gc_ttl=3600
    apc.gc_ttl=86400
  • APCu コントロールパネル
    GitHubからダウンロード。
    # wget https://github.com/krakjoe/apcu/archive/master.zip
    解凍。
# unzip master.zip
# rm -f master.zip
  • php.ini最後に追加
    opcache.memory_consumption=128
    opcache.interned_strings_buffer=8
    opcache.max_accelerated_files=4000
    opcache.revalidate_freq=60
    opcache.fast_shutdown=1
    opcache.enable_cli=1
nextcloud参考
http://sig9.hatenablog.com/entry/2017/10/21/000000

centos7 owncloud

php71-php-pdo
php71-php-intl
php71-php-xml
php71-php-mbstring
php71-php-gd
php71-php-pecl-zip
php71-php-mysqlnd

centos7 nextcloud

MariaDB [(none)]> create database nextcloud;
Query OK, 1 row affected (0.00 sec)

MariaDB [(none)]> grant all privileges on nextcloud.* to nextcloud@'localhost' identified by '*********';
Query OK, 0 rows affected (0.00 sec)

MariaDB [(none)]> flush privileges;
Query OK, 0 rows affected (0.00 sec)

MariaDB [(none)]> exit
Bye
chown -R nginx:nginx nextcloud
php-apcuをインストールしているので、..nextcloud/config/config.phpを開きarray内に'memcache.local' => '\OC\Memcache\APCu',を追記。

centos7 php72

# yum install --enablerepo=remi,remi-php72 php php-devel php-mbstring php-pdo php-gd php-xml php-mcrypt
  • nginx用モジュール
    # yum install php72-php-fpm
vi /etc/opt/remi/php72/php-fpm.d/www.conf
user = nginx
group = nginx
listen.owner = nginx
listen.group = nginx
listen.mode = 0666
listen = /var/run/php-fpm/php-fpm.sock
mkdir -p /var/run/php-fpm/
# systemctl enable php72-php-fpm
# systemctl start php72-php-fpm

centos7 remi

# yum install http://rpms.remirepo.net/enterprise/remi-release-7.rpm

centos7 mariadb

CentOS 7 の MariaDB.repo ファイル例です。

[mariadb]
name = MariaDB
baseurl = http://yum.mariadb.org/10.2/centos7-amd64
gpgkey=https://yum.mariadb.org/RPM-GPG-KEY-MariaDB
gpgcheck=1
# yum install mariadb mariadb-server
/etc/my.cnf.d/server.cnf
[mysqld]
character-set-server=utf8
# systemctl enable mariadb
# systemctl start mariadb

centos7 samba

[global]
   unix charset = UTF-8 ← 追加(Linux側日本語文字コード)
   dos charset = CP932 ← 追加(Windows側日本語文字コード)
   mangled names = no ← 追加(長いファイル名の文字化け対処)
   vfs objects = catia ← 追加(上記対処でファイルアクセス不可になる一部文字の置換)
   catia:mappings = 0x22:0xa8,0x2a:0xa4,0x2f:0xf8,0x3a:0xf7,0x3c:0xab,0x3e:0xbb,0x3f:0xbf,0x5c:0xff,0x7c:0xa6 ← 追加(上記対処でファイルアクセス不可になる一部文字の置換)

# workgroup = NT-Domain-Name or Workgroup-Name
   workgroup = MYGROUP
   ↓
   workgroup = WORKGROUP ← 変更(Windowsのワークグループ名を指定)
        ※マイコンピュータのプロパティ⇒コンピュータ名タブ内のワークグループ欄を参照

centos7 nginx

/etc/yum.repos.d/nginx.repo
[nginx]
name=nginx repo
baseurl=http://nginx.org/packages/centos/7/$basearch/
gpgcheck=0
enabled=1
# yum -y --enablerepo=nginx install nginx
# vi /etc/nginx/conf.d/default.conf
server {
  listen 80;
  server_name localhost;
  root /usr/share/nginx/html/;
  index index.php index.html index.htm;

  location / {
    try_files $uri $uri/ /index.php?$query_string;
  }

  location ~ \.php$ {
    fastcgi_split_path_info ^(.+\.php)(/.+)$;
    fastcgi_pass unix:/var/run/php-fpm.sock;
    fastcgi_index index.php;
    fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
    fastcgi_param PATH_INFO $fastcgi_path_info;
    include fastcgi_params;
  }
}
# systemctl enable nginx
# systemctl start nginx
/etc/nginx/conf.d/default.conf

centos7 zfs

https://github.com/zfsonlinux/zfs/wiki/RHEL-and-CentOS
# yum install http://download.zfsonlinux.org/epel/zfs-release.el7_4.noarch.rpm
# yum install -y epel-release
# yum install kernel-devel zfs
  • partedで確認
    # parted -l
# parted /dev/sdb
(parted) mklabel gpt
(parted) quit
# parted /dev/sdc
(parted) mklabel gpt
(parted) quit
  • 自動起動関連
    [root@zfs ~]# systemctl enable zfs-import-cache
    [root@zfs ~]# systemctl enable zfs-mount
    [root@zfs ~]# systemctl enable zfs.target
  • create
    zpool create tank mirror /dev/sdb /dev/sdc
    df -h
  • create home2
    zfs create tank/home
    cp -a /home/* /tank/home/
    zfs set mountpoint=/home2 tank/home
    zfs get mountpoint tank/home
    reboot
    df -h
    zfs set atime=off  tank/home
    zfs set atime=off  tank

centos7 vlc

yum -y install http://li.nux.ro/download/nux/dextop/el7/x86_64/nux-dextop-release-0-5.el7.nux.noarch.rpm
yum install vlc

centos7 phpmyadmin

yum install yum-utils
# remiリポジトリの公開鍵を取り込む
sudo rpm --import https://rpms.remirepo.net/RPM-GPG-KEY-remi
# yum-config-manager コマンドのインストールと remiリポジトリの追加
sudo yum install yum-utils https://rpms.remirepo.net/enterprise/remi-release-7.rpm
# remi-php71 リポジトリを有効化
sudo yum-config-manager --enable remi-php71
# PHP と拡張モジュールなどをインストール
sudo yum install php php-mbstring php-intl
DB driver
# PDO_MYSQLのインストール
sudo yum install php-mysqlnd
/etc/yum.repos.d/remi.repo
[remi]
name=Remi's RPM repository for Enterprise Linux 7 - $basearch
#baseurl=http://rpms.remirepo.net/enterprise/7/remi/$basearch/
mirrorlist=http://rpms.remirepo.net/enterprise/7/remi/mirror
enabled=0
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-remi
includepkgs=phpMyAdmin php-phpmyadmin-sql-parser php-google-recaptcha
## ↑この行を追加 ##

phpmyadmin

# remi リポジトリを有効化
sudo yum-config-manager --enable remi
# インストール
sudo yum install phpMyAdmin
/usr/share/phpMyAdmin/sql/create_tables.sql
-- (activate this statement if necessary)
GRANT SELECT, INSERT, DELETE, UPDATE, ALTER ON `phpmyadmin`.* TO
  'pma'@localhost;
-- ↑この2行のコメントアウトを外す --
-- phpMyAdmin用のデータベース・ユーザーを作成
source /usr/share/phpMyAdmin/sql/create_tables.sql

-- パスワードの設定
SET PASSWORD FOR pma@localhost = PASSWORD('⦅pmaのパスワード⦆');

-- 権限テーブルの再読み込み
FLUSH PRIVILEGES;

-- ログアウト
exit
/etc/phpMyAdmin/config.inc.php
                       //////////////
                       // 以上省略 //
                       //////////////

/**
 * phpMyAdmin configuration storage settings.
 */

/* User used to manipulate with storage */
// $cfg['Servers'][$i]['controlhost'] = '';
// $cfg['Servers'][$i]['controlport'] = '';
$cfg['Servers'][$i]['controluser'] = 'pma';                 // コメントアウトを外す //
$cfg['Servers'][$i]['controlpass'] = '⦅pmaのパスワード⦆';   // コメントアウトを
外し、「pmapass」を修正 //

/* Storage database and tables */
$cfg['Servers'][$i]['pmadb'] = 'phpmyadmin';
$cfg['Servers'][$i]['bookmarktable'] = 'pma__bookmark';
$cfg['Servers'][$i]['relation'] = 'pma__relation';
$cfg['Servers'][$i]['table_info'] = 'pma__table_info';
$cfg['Servers'][$i]['table_coords'] = 'pma__table_coords';
$cfg['Servers'][$i]['pdf_pages'] = 'pma__pdf_pages';
$cfg['Servers'][$i]['column_info'] = 'pma__column_info';
$cfg['Servers'][$i]['history'] = 'pma__history';
$cfg['Servers'][$i]['table_uiprefs'] = 'pma__table_uiprefs';
$cfg['Servers'][$i]['tracking'] = 'pma__tracking';
$cfg['Servers'][$i]['userconfig'] = 'pma__userconfig';
$cfg['Servers'][$i]['recent'] = 'pma__recent';
$cfg['Servers'][$i]['favorite'] = 'pma__favorite';
$cfg['Servers'][$i]['users'] = 'pma__users';
$cfg['Servers'][$i]['usergroups'] = 'pma__usergroups';
$cfg['Servers'][$i]['navigationhiding'] = 'pma__navigationhiding';
$cfg['Servers'][$i]['savedsearches'] = 'pma__savedsearches';
$cfg['Servers'][$i]['central_columns'] = 'pma__central_columns';
$cfg['Servers'][$i]['designer_settings'] = 'pma__designer_settings';
$cfg['Servers'][$i]['export_templates'] = 'pma__export_templates';
        // ↑ここまでコメントアウトを外す //

/**
 * End of servers configuration
 */

                       //////////////
                       //   中略   //
                       //////////////

/*
 * You can find more configuration options in the documentation
 * in the doc/ folder or at <http://docs.phpmyadmin.net/>.
 */

// root アクセスの禁止
$cfg['Servers'][$i]['AllowRoot'] = false;
// ↑ファイル末尾にこの行を追加 //

centos7 mysql-5.7最新

rpm -ivh http://dev.mysql.com/get/mysql57-community-release-el7-7.noarch.rpm

centos7 php最新(7.1)

remiリポジトリの有効化
# yum install http://rpms.famillecollet.com/enterprise/remi-release-7.rpm
# yum install --enablerepo=remi-php71 php php-cli php-common php-devel php-fpm php-gd php-mbstring php-mysqlnd php-pdo php-pear php-pecl-apcu php-soap php-xml php-xmlrpc
mariadb削除
$ sudo yum -y remove mariadb-libs

centos7 anthy

  • epel-releaseを導入
yum install emacs-anthy-el

ついでにemacs-anthyが導入される。

centos7 chainer

  • python-devel <- install
# pip install chainer

centos7 python環境

# yum install epel-release
# yum install python-pip
# pip install pip --upgrade

centos7 cuda

Linux-x86_64_CentOS 7 runfile(local)

centos7 インストール時に注意すること

nouveau.modeset=0

を追加

centos7 postfix + dovecot

yum -y install postfix
myhostname = mail.centossrv.com
mydomain = centossrv.com
myorigin = $myhostname
inet_interfaces = all
mydestination = $myhostname, localhost.$mydomain, localhost, $mydomain
home_mailbox = Maildir/
smtpd_banner = $myhostname ESMTP unknown
smtpd_sasl_auth_enable = yes
smtpd_recipient_restrictions =
   permit_mynetworks
   permit_sasl_authenticated
   reject_unauth_destination
以下を最終行へ追加(受信メールサイズ制限)
message_size_limit = 10485760
yum -y install cyrus-sasl cyrus-sasl-plain
systemctl restart saslauthd
systemctl enable saslauthd
vi /etc/sasl2/smtpd.conf
pwcheck_method: saslauthd
↓
pwcheck_method: auxprop
  • 新規ユーザー対処
    mkdir -p /etc/skel/Maildir/{new,cur,tmp} ← 新規ユーザー追加時に自動でMaildir形式メールボックス作成
    chmod -R 700 /etc/skel/Maildir/
  • 存在しないアドレス対処
    vi /etc/postfix/main.cf ← Postfix設定ファイル編集
    以下を最終行へ追加(存在しないユーザー宛メールをunknown_userへ配送)
    local_recipient_maps =
    luser_relay = unknown_user@localhost
# echo unknown_user: /dev/null >> /etc/aliases ← unknown_user宛メールを破棄
# newaliases ← /etc/aliases変更反映
# vi /etc/dovecot/conf.d/10-mail.conf ← 10-mail.conf編集
mail_location = maildir:~/Maildir ← 追加(メールボックス形式をMaildir形式とする)
# vi /etc/dovecot/conf.d/10-auth.conf
disable_plaintext_auth = no ← 追加(プレインテキスト認証を許可)
# vi /etc/dovecot/conf.d/10-ssl.conf ← 10-ssl.conf編集
ssl = no ← SSL接続無効
  • SSL証明書
# cd /etc/pki/tls/certs 
# make server.key 
umask 77 ; \
/usr/bin/openssl genrsa -aes128 2048 > server.key
Generating RSA private key, 2048 bit long modulus
...
...
e is 65537 (0x10001)
Enter pass phrase:     # パスフレーズ設定
Verifying - Enter pass phrase:     # 再入力
# 秘密鍵からパスフレーズを削除
# openssl rsa -in server.key -out server.key 
Enter pass phrase for server.key:     # パスフレーズ入力
writing RSA key
# make server.csr 
umask 77 ; \
/usr/bin/openssl req -utf8 -new -key server.key -out server.csr
You are about to be asked to enter information that will be incorporated
into your certificate request.
What you are about to enter is what is called a Distinguished Name or a DN.
There are quite a few fields but you can leave some blank
For some fields there will be a default value,
If you enter '.', the field will be left blank.
-----
Country Name (2 letter code) [XX]:JP     # 国
State or Province Name (full name) []:Hiroshima     # 地域(県)
Locality Name (eg, city) [Default City]:Hiroshima     # 都市
Organization Name (eg, company) [Default Company Ltd]:GTS     # 組織名
Organizational Unit Name (eg, section) []:Server World     # 組織の部門名
Common Name (eg, your name or your server's hostname) []:www.srv.world     # サーバーのFQDN
Email Address []:xxx@srv.world     # 管理者アドレス
Please enter the following 'extra' attributes
to be sent with your certificate request
A challenge password []:     # Enter
An optional company name []:     # Enter
# 有効期限が10年の自己署名証明書を作成
[root@www certs]# openssl x509 -in server.csr -out server.crt -req -signkey server.key -days 3650
Signature ok
subject=/C=JP/ST=Hiroshima/L=Hiroshima/O=GTS/OU=Server World/CN=www.srv.world/emailAddress=xxx@srv.world
Getting Private key
  • SSL設定
    # vi /etc/postfix/master.cf
# 26-28行目:コメント解除
smtps       inet   n       -       n       -       -       smtpd
 -o syslog_name=postfix/smtps
 -o smtpd_tls_wrappermode=yes
# vi /etc/dovecot/conf.d/10-ssl.conf
# 8行目:変更
ssl = yes
# 14,15行目:証明書/鍵ファイル指定
ssl_cert = </etc/pki/tls/certs/server.crt
ssl_key = </etc/pki/tls/certs/server.key
# systemctl restart postfix dovecot 
  • SASL関連(最初の1回)
# chgrp postfix /etc/sasldb2
# chmod 640 /etc/sasldb2
  • SASLユーザ追加
# saslpasswd2 -d -u example.com hogeuser

centos7 nouveau

  • デフォルトのイメージファイルをバックアップとして残す
    # mv /boot/initramfs-$(uname -r).img /boot/initramfs-$(uname -r)-nouveau.img
  • nouveauドライバをロードしない起動イメージファイルを作成
    #dracut --omit-drivers nouveau /boot/initramfs-$(uname -r).img $(uname -r)
  • 終わったら以下のblacklist関連2つ修正
  • その他
yum install gcc*
yum install freeglut
yum install freeglut-devel
yum install kernel-devel
yum -y groupinstall "Server with GUI"

centos7

  • address check
ip a

centos7 flash

yum -y --enablerepo=rpmforge install flash-plugin

centos7 repos

  • priorities
    yum -y install yum-plugin-priorities
  • epel
    yum -y install epel-release
    priority=11
  • RPMforge
    # rpm --import http://apt.sw.be/RPM-GPG-KEY.dag.txt
    # rpm -ivh http://pkgs.repoforge.org/rpmforge-release/rpmforge-release-0.5.3-1.el7.rf.x86_64.rpm
    priority=12
  • Nux desktop
    # rpm -Uvh http://li.nux.ro/download/nux/dextop/el7/x86_64/nux-dextop-release-0-5.el7.nux.noarch.rpm
    priority=13
  • nginx
    [nginx]
    name=nginx_repo
    baseurl=http://nginx.org/packages/centos/$releasever/$basearch/
    gpgcheck=0
    enabled=0
    priority=14

centos7 grub

# grub2-mkconfig -o /boot/grub2/grub.cfg 

centos7 nouveau

># vi /etc/modprobe.d/modprobe.conf

#
# /etc/modprobe.d/modprobe.conf (to omit nouveau driver)
#
blacklist nouveau

># vi /etc/modprobe.d/nouveau_blacklist.conf

blacklist nouveau

centos7

linuxefi /images/pxeboot/vmlinuz initrd=initrd.img inst.stage2=hd:LABEL=CentOS\x207\x20x86_64 quiet nomodeset net.ifnames=0 intel_pstate=disable

owncloud

owncloudのyumリポジトリ インストール curlでリポジトリのファイルを取得します。

remiリポジトリ インストール CentOS7の標準リポジトリにあるPHPは5.4系なので、remi-php56からインストールを行うようにします。

$ sudo yum -y install http://remi.kazukioishi.net/enterprise/remi-release-7.rpm

gd-lastインストール php-gdが依存するgd-lastをremiリポジトリからインストールします。

$ sudo yum -y --enablerepo=remi install gd-last

PHPインストール

owncloudが依存するPHPをremi-php56リポジトリからインストールします。php-mysqlnd をインストールしないと、owncloudインストール画面でsqliteしか選択できなくなるので、忘れずにインストールしましょう。

$ sudo yum -y --enablerepo=remi-php56 install php php-cli php-common php-gd php-ldap php-mbstring php-pdo php-process php-xml php-mysqlnd

MySQL 5.7

# yum remove mariadb-libs
# rm -rf /var/lib/mysql
# yum localinstall http://dev.mysql.com/get/mysql57-community-release-el7-7.noarch.rpm
# yum -y install mysql-community-server
# systemctl enable mysqld.service
# systemctl start mysqld.service
# /usr/bin/mysql_secure_installation
# vi /etc/my.cnf
character-set-server = utf8
default_password_lifetime = 0

ownCloud

yum install memcached php-pecl-memcache
systemctl start memcached.service
yum install php-pecl-apcu --enablerepo=remi-php56,remi

node.js

yum install epel-release
yum install nodejs
node -v
v0.10.33

mysql

# MySQL公式リポジトリファイルをインストール
yum -y install http://dev.mysql.com/get/mysql-community-release-el7-5.noarch.rpm

# MySQLインストール
yum -y install mysql
yum -y install mysql-devel
yum -y install mysql-server
yum -y install mysql-utilities

# mysqlデーモンの起動
service mysqld start

# DB初期設定
/usr/bin/mysql_secure_installation

centos7

  • nmtui
  • selinux
  • systemctl disable firewalld.service

wordpress

  • 移行時の注意点
    # mysql -u root –p 
    # Enter password: 
    mysql> grant all privileges on データベース名.* to ユーザー名@localhost identified by 'パスワード'; 
    mysql> create database データベース名; 
    mysql> quit;
  • 取り込み
    # mysql -u root –p 
    Enter password: 
    mysql> use データベース名; 
    mysql> source /tmp/backup/wordpress_db.sql; 
    mysql> quit;

6.5 肝

  • mailserver
    • cyrus_sasl*を導入すること

6.4 X.org from scratch

groupinstall "X Window System" "Desktop" "General Purpose Desktop" "Desktop Platform"
groupinstall "Japanese Support"
  • vnc with IBus
    「IBus」で検索。「The Anthy engine for IBus input platform」にチェックを入れて、「適用」を押します。関連するソフト(表示される)もインストールします。
  • ibus関連
    dbus-uuidgen > /var/lib/dbus/machine-id

chrome install

$ wget http://people.centos.org/hughesjr/chromium/6/chromium-el6.repo
# cp chromium-el6.repo /etc/yum.repos.d/
# yum install chromium
  • 以下は失敗
[root@ufuso ~]# wget https://dl-ssl.google.com/linux/linux_signing_key.pub ← linux_signing_key.pubのダウンロード
`linux_signing_key.pub' に保存中

[root@ufuso ~]# rpm --import linux_signing_key.pub ← linux_signing_key.pubの
インストール

(2)Yumリポジトリの作成
[root@ufuso ~]# vi /etc/yum.repos.d/google.repo ← google.repoというファイルを
yum.repos.dフォルダ内に作成し、下記を入力(コピペで)

[google64]
name=Google - x86_64
baseurl=http://dl.google.com/linux/rpm/stable/x86_64
enabled=0
gpgcheck=1
gpgkey=https://dl-ssl.google.com/linux/linux_signing_key.pub
(3)YUMでGoogle Chromeをインストール
[root@ufuso ~]# yum -y --enablerepo=google64 install google-chrome-stable ←Google 
Chromeの最新安定版をダウンロード&インストール

Printer from scratch 6.4

yum install ghostscript cups usbutils
yum install avahi avahi-compat-libdns_sd
yum install system-config-printer-libs

WLI-UC-GNM

  • os/linux/にある config.mk を編集
$ cd 2011_0407_RT3070_RT3370_RT5370_RT5372_Linux_STA_V2.5.0.2_DPO/os/linux/
$ vi config.mk
# Support Wpa_Supplicant
HAS_WPA_SUPPLICANT=y

# Support Native WpaSupplicant for Network Maganger
HAS_NATIVE_WPA_SUPPLICANT_SUPPORT=y
  • デバイスID
    $ lsusb
    0x0411:01a2
  • common/rtusb_dev_id.cに追記
USB_DEVICE_ID rtusb_dev_id[] = {
#ifdef RT3070
{USB_DEVICE(0x148F,0x3070)}, /* Ralink 3070 */
USB_DEVICE_ID rtusb_dev_id[] = {
#ifdef RT3070
{USB_DEVICE(0x0411,0x01a2)}, /* BUFFALO WLI-UC-GNM */
{USB_DEVICE(0x148F,0x3070)}, /* Ralink 3070 */
$ ln -s RT2870STA.dat RT3070STA.dat
$ sudo make
$ sudo make install
$ ln -s /etc/Wireless/RT3070STA /etc/Wireless/RT2870STA
$ ln -s /etc/Wireless/RT3070STA/RT3070STA.dat /etc/Wireless/RT2870STA/RT2870STA.dat
  • 接続確認
    # ifconfig ra0 up
    # iwlist ra0 scan

usbnano2導入

日本語入力環境

yum install ibus ibus-anthy
  • .bash_profile
    export XMODIFIERS="@im=ibus"
    export GTK_IM_MODULE="ibus"
    export QT_IM_MODULE="xim"
  • 自動起動する
    • システム→設定→自動起動するアプリをクリック
    • 追加
      /usr/bin/ibus-daemon --daemonize --xim

テキストインストール後の日本語化

  • /.bash_profile

    # 最終行に追記
    LANG=ja_JP.UTF-8
    export LANG

textmode to desktop on CentOS 6.3

# yum groupinstall "X Window System"
# yum groupinstall "Desktop"
# yum groupinstall "General Purpose Desktop"

squirrel mail

  • function/auth.phpのsqauth_save_password()関数をコメントアウト

https on CentOS 6.3

  • 導入
    # yum install mod_ssl
    # yum install make
# cd /etc/pki/tls/certs/
# sed -i 's/365/3650/g' Makefile
# make server.crt
enterpass x 3
JP
pref
city
org
enter
host
address
# openssl rsa -in server.key -out server.key
passwd
# chmod 400 server.*
  • SSL設定
    # vi /etc/httpd/conf.d/ssl.conf
    documentrootを設定
    servername を設定
#SSLCertificateFile /etc/pki/tls/certs/localhost.crt
SSLCertificateFile /etc/pki/tls/certs/server.crt
#SSLCertificateKeyFile /etc/pki/tls/private/localhost.key
SSLCertificateKeyFile /etc/pki/tls/certs/server.key
# /etc/init.d/httpd restart

Postfix and Imap on CentOS 6.3

  • Postfixとdovecotをyumで導入
  • procmailをyumで導入
  • /etc/dovecot/conf.d/10-mail.confでmail_locationをMaildirに
myhostname = hogehoge.hoge.hoge
myorigin = $myhostname
inet_interfaces = all
mynetworks_style = host
mynetworks = 192.168.0.0/24,127.0.0.0/8
alias_maps = hash:/etc/postfix/aliases
alias_database = hash:/etc/postfix/aliases
home_mailbox = Maildir/
mail_spool_directory = /var/spool/mail
mailbox_command = /usr/bin/procmail -a "$EXTENSION"
#added for sasl
smtpd_sasl_auth_enable = yes
smtpd_sasl_type = dovecot
smtpd_sasl_path = private/auth
smtpd_sasl_local_domain=$myhostname
smtpd_sasl_security_options=noanonymous
broken_sasl_auth_clients=yes
smtpd_recipient_restrictions=permit_mynetworks,permit_sasl_authenticated,reject_non_fqdn_recipient,reject_unauth_destination
relayhost = [smtp.nifty.com]:587
smtp_sasl_auth_enable = yes
smtp_sasl_password_maps = hash:/etc/postfix/isp_auth_info
smtp_sasl_mechanism_filter = login, plain, cram-md5
  • aliasesの場所を移動,postfix再起動
  • chkconfigを確認
  • isp情報をdbに書き出し
    # postmap /etc/postfix/isp_auth_info
  • dovecot
disable_plaintext_auth=no
auth_mechanisms = plain login
main.cf
smtpd_sasl_type = dovecot
smtpd_sasl_path = private/auth
を↓に変更
smtpd_sasl_type = cyrus
smtpd_sasl_path = smtpd
  • saslauthdは起動する必要あり
  • cyrus-sasl用プログラムも必ず追加すること
    # yum -y install cyrus-sasl-plain cyrus-sasl-md5
  • procmail
    PATH=$HOME/bin:/usr/bin:/usr/local/bin
    MAILDIR=$HOME/Maildir
    DEFAULT=$MAILDIR/
    LOGFILE=$MAILDIR/log
    LOCKFILE=$HOME/.lockmail

nagios on centos

  • epelリポジトリから導入
  • usermod -G nagios apache
  • /etc/nagios/cgi.cfgのuse_authenticationを0にする
  • /etc/nagios/objectsでcheck_command check_ssh_port!12345<port

CentOS 6.3

  • テキストインストールはカーネルロード時にtextオプションを指定
  • ネットワーク手動設定/etc/sysconfig/network-scripts/ifcfg-eth0-onbootをyesに
    setupコマンド
    # yum install setuptool
    setupコマンドのサービス設定メニュー
    # yum install ntsysv
    setupコマンドのネットワーク設定メニュー
    # yum install system-config-network-tui
    setupコマンドのファイアウォール設定メニュー
    # yum install system-config-firewall-tui
    SELinuxを無効にする
    参考:OSSはアルミニウムの翼で飛ぶ: RHEL6  (2)インストール後の注意点 (SELinux/iptables/X)
    # vi /etc/sysconfig/selinux
    SELINUX=disabled
    iptablesをOFFにする
    参考:OSSはアルミニウムの翼で飛ぶ: RHEL6  (2)インストール後の注意点  (SELinux/iptables/X)
    chkconfig iptables off &&   /etc/init.d/iptables stop
    仮想コンソール数を減らす
    参考:Fedora 14:「mingetty」仮想コンソール数を変更する | TrippyBoyの愉快な日々
    # vi /etc/sysconfig/init
    ACTIVE_CONSOLES=/dev/tty1
    仮想コンソールを2つ起動したいのであれば、「/dev/tty[1-2]」
  • apacheのDocumentRoot?が変えられない
    echo 0 > /selinux/enforce
  • リポジトリキー入手
    # wget http://ftp.riken.jp/Linux/fedora/epel/RPM-GPG-KEY-EPEL-6
  • リポジトリキーインポート
    # rpm --import RPM-GPG-KEY-EPEL-6
  • リポジトリーキー削除
    # rm -f RPM-GPG-KEY-EPEL-6
  • repo追加
    # vi /etc/yum.repos.d/epel.repo
  • 以下全面追加
    [epel]
    name=EPEL RPM Repository for Red Hat Enterprise Linux
    baseurl=http://ftp.riken.jp/Linux/fedora/epel/6/$basearch/
    gpgcheck=1
    enabled=0
yum --enablerepo=epel install php-mcrypt

mysql設定!

  • my.cnfの[mysqld]に下記を追加
character-set-server = utf8
skip-character-set-client-handshake

phpでjson

  • オブジェクト出力指定が非常に重要
  • option指定をしないと両側に[]が出力されうまく処理できない
json_encode($user, JSON_FORCE_OBJECT);
<?php
define('Charset', 'UTF-8');     // 出力する文字コードの定義
while (@ob_end_clean());
mb_http_output(Charset);
ini_set("default_charset", Charset);
ob_start('mb_output_handler');

$link = mysql_connect('localhost', 'root', 'hogehoge'); //user名とパスワードは各自
 if (!$link) {
    die('接続できません: ' . mysql_error());
}

$db_name = "dbnamehoge"; //利用するデータベース名
mysql_select_db($db_name,$link);
 $sql = 'SELECT * FROM hogehoge';

$query = mysql_query($sql);

//取得した結果を取り出して連想配列に入れていく
$user= array();
while ($row = mysql_fetch_object($query)) {
 $user[] = array(
    'id'=> $row->id
    ,'title' => $row->title
    );
}

//jsonとして出力
header('Content-type: application/json; charset=UTF-8');
echo json_xencode($user,JSON_FORCE_OBJECT);

function json_xencode($value, $options = 0, $unescapee_unicode = true)
{
  $v = json_encode($value, $options);
  if ($unescapee_unicode) {
    $v = unicode_encode($v);
    // スラッシュのエスケープをアンエスケープする
    $v = preg_replace('/\\\\\//', '/', $v);
  }
  return $v;
}
function unicode_encode($str) {
  return preg_replace_callback("/\\\\u([0-9a-zA-Z]{4})/", "encode_callback", $str);
}

function encode_callback($matches) {
  return mb_convert_encoding(pack("H*", $matches[1]), "UTF-8", "UTF-16");
}
?>

CentOS 6.2

  • Atom系マザーは未だにr8169.oで認識されてしまう.
  • IntelNICに変えるかドライバ再インストールする.
  • Chrome Install
    • Google YUM リポジトリを有効にする
    • /etc/yum.repos.d/google-chorme.repo を作成。64 bit 版
[google-chrome]
name=google-chrome - 64-bit
baseurl=http://dl.google.com/linux/chrome/rpm/stable/x86_64
enabled=1
gpgcheck=1
gpgkey=https://dl-ssl.google.com/linux/linux_signing_key.pub
  • install
    sudo yum install google-chrome-stable

CentOS 6.0

VNCserver

yum install tigervnc-server
  • 設定ファイル/etc/sysconfig/vncserver
    VNCSERVERS="1:username"
    VNCSERVERARGS[1]="-geometry 1024x768 -nolisten tcp"

Nvidia

  • 下記をカーネルアップデートの度に実行する必要あり
    • grub.confのkernel=行にnouveau.modeset=0 を追加する必要あり
    • 再起動後にドライバをインストール

dag

32bitコンパイル環境

# yum install gcc* compat-gcc* compat-glibc* compat-lib*

POL on Vmware 3.1

  • win7 64bitにて動作確認

CentOS samba

[global]

dos charset = CP932
unix charset = UTF-8
display charset = UTF-8
default case = lower
case sensitive = no
preserve case = yes
short preserve case = yes

CentOS-5.5 - flash player

  • ファイルダウンロード後、解凍し下記に移動
.mozilla/plugins/
  • 以下は旧情報
# yum remove flash-plugin nspluginwrapper*
# wget http://download.macromedia.com/pub/labs/flashplayer10/libflashplayer-10.0.45.2.linux-x86_64.so.tar.gz
# tar -xzvf libflashplayer-10.0.45.2.linux-x86_64.so.tar.gz
# mv /tmp/libflashplayer.so /usr/lib64/mozilla/plugins/

CentOS-Rails?

音楽関係

  • CentOS-mtdaapd?
  • CentOS-mediatomb?
  • firefly ip:3689 admin:pass

ROR関係

  • ruby
    • 1.8.7をソースから導入
# wget ftp://ftp.ruby-lang.org/pub/ruby/1.8/ruby-1.8.7-p174.tar.gz
# tar zxvf ruby-1.8.7-p174.tar.gz
# cd ruby-1.8.7-p174
# ./configure
# make
# make test
# make install
  • gems
    • 1.3.5をソースから導入
# wget http://rubyforge.org/frs/download.php/60718/rubygems-1.3.5.tgz
# tar zxvf rubygems-1.3.5.tgz
# cd rubygems-1.3.5 && ruby setup.rb
# /usr/local/bin/gem update --system
  • sqlite
    yum install sqlite sqlite-devel
gem install sqlite3-ruby
  • MySQL
    yum install mysql-server

router-syslog


トップ   編集 凍結 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2020-11-15 (日) 01:17:56 (215d)