OSS

オープンソースソフトウェア
 
オープンソースソフトウェア(OSS)について、さまざまアプリケーション、ツールなどの技術的な情報です。
 
たとえば、MySQLやPostgreSQLなどのデータベース、グラフィックス関連ソフトのGIMPやInkspace、セキュリティで重要な迷惑フィルターのPOPFile、プログラミング言語としてJavaやスクリプト言語のPHP、統合開発環境としてのQTやEclipse、ユーザーログイン管理データベースのLDAP、eラーニングソフトのMoodle、などなど。
 
主なカテゴリ
 
システム管理  Webmin
 
Webサーバ  Apache  Nginx
 
 
 
 
 
 
 
 
 
 
 
 
 

 

 

タグ: 

オープンソースソフトウェア: 

Database

データベース

1) MySQL

2) PostgreSQL

 

 

 

MySQL

データベースMySQLについて

 

インストールおよび環境設定

 ・CentOS / RedHat  ・Debian  ・Windows  ・Macintosh

 

  • MySQL 5.5 から 5.7へアップグレード(Debian Jessieの場合)

まず、データベースのバックアップ、現状の確認、MySQLを停止、apt-get remove でMySQL 5.5 を削除、MySQL 5.7 インストール、MySQL再起動の手順です。

dpkg -l | grep 'mysql'  で現状の確認

削除するMySQL 5.5 環境の確認(mysql-client  mysql-server  mysql-common  mysql-community-client  mysql-community-server  mysql-utilites など)

インストール ここを参考に  

mysql-server 再起動

MySQL 5.5から5.7へプログラムをアップグレードした後、データベースをアップグレードします。

Linuxのコマンドラインで、 $ sudo mysql_upgrade -uroot -p

 

  • MySQL 5.7 から 8 へのアップグレード(Ubuntu 18.04の場合)

アップグレードの手順 ここを参考に  

  • Add MySQL APT repository
  • Update APT index and install MySQL server
  • Manage mysql.service

 

  • Mariadb-server のインストール(Debian 10 buster)

Debian 8 や Debian 9 からDebian 10へMySQLをアップグレードした場合など、MySQLおよびMariaDBの設定環境が混在して、MySQLが起動しない場合がありました。

apt remove --purge コマンドでも設定ファイルなどが削除されない場合があります。

my.cnf の設定などは、次のサイトを参考に確認し、調整します。https://beyondjapan.com/blog/2016/03/2002-mysql-socket-error/

それでも動作が不安定、起動しない場合は、Debian 10を再インストールすることも解決策です。

 

  • Mariadb-server 10.5 へのアップグレード (Debian 9 Stretch)

アップグレードの手順  ここを参考に

  • Data Backup
  • uninstall old version
  • install new version
  • start server
  • upgrading data directory
  • test 

 

  • Mariadb-server 10.5 へのアップグレード (Debian 10 Buster)

アップグレードの手順  ここを参考に

  • Data Backup
  • uninstall old version
  • install new version
  • start server
  • upgrading data directory
  • test 

 

local以外の外部から接続する設定

作業中です。

 

 

コマンドの基礎

 

MySQLユーザーのパスワードを設定

環境: MySQL 5.0

・GRANT文でユーザー登録、パスワード指定

mysql > GRANT SELECT ON データベース名.フィールド名 TO 'ユーザー'@'ホスト' IDENTIFIED BY 'パスワード';

・SET PASSWORD文でパスワード設定

mysql > SET PASSWORD FOR 'ユーザー'@'ホスト'=PASSWORD('パスワード');

・UPDATE文でパスワード設定

mysql > UPDATE user SET Password=PASSWORD('パスワード') WHERE User='ユーザー' AND Host='ホスト';

mysql > FLUSH PRIVILEGES;

※ 権限テーブルを直接変更した場合は、FLUSH PRIVILEGES を実行し、テーブルを再度読み込み、権限の変更を反映させます。 mysqladminコマンドの場合 $ mysqladmin -uユーザー -hホスト password パスワード ・ユーザー登録 あらゆる操作ができるユーザーを登録

mysql > GRANT ALL PRIVILEGES ON *.* TO ユーザー IDENTIFIED BY 'パスワード'

mysql > GRANT ALL PRIVILEGES ON *.* TO 'ユーザー'@'ホスト' IDENTIFIED BY 'パスワード';

・ユーザーの削除

mysql > DROP USER 'ユーザー'@'ホスト';

 

データベースの作成、削除

 

・mysqladminを使う方法

$ mysqladmin -uroot -p create データベース名

$ mysqladmin -uroot -p drop データベース名

・SQLでの場合

mysql > CREATE DATABASE データベース名;

mysql > DROP DATABASE データベース名;

 

データベースのダンプ

・mysqldumpコマンドの場合

gzipで圧縮

mysqldump -u user -p データベース名 | gzip > dbname.dump.gz

zcat dbname.dump.gz | mysql -u user -p データベース名

パスワードはコマンドラインで入力します

 

 

オープンソースソフトウェア: 

phpMyAdmin

phpMyAdminについて

 

インストールについて

 

環境: CentOS 5.5   PHP 5.3.4  MySQL 5.1.54  phpMyAdmin 3.3.8.1

 
ダウンロードした phpMyAdmin-3.3.8.1-all-languages.tar.gz を解凍し、phpMyAdmin-3.3.8.1-all-languages という解凍後のディレクトリをApacheのDocumentRootにコピーもしくは移動させて、ディレクトリ名を phpMyAdmin と設定します。
 
phpMtAdminのディレクトリにある、config.sample.inc.phpのファイルをコピーして、config.inc.php というファイル名にします。その後、以下の設定をします。
 
以下のところに、使用するURLを記入します。
$cfg['PmaAbsoluteUri'] = 'http://localhost/phpMyAdmin/';
 
スタンドアロン的に使う場合の簡単な方法として、以下のcookieではなくhttpで設定できます。テストとして使用した場合。
$cfg['Server'][$i]['auth_type'] = 'cookie';
 
ファイルを保存後、http://....DocumentRoot/phpMyAdmin/  でログインし、MySQLのユーザー名とパスワードでログインします。 インターネット上ではセキュリティを意識した追加の設定をします。

 

Debianへインストール

環境 Debian 8.2 

aptitude -y install phpmyadmin

  apache2 を選択  設定 dbconfig-common ?  いいえ を選択

/etc/phpmyadmin/apache.conf  編集   # Autorize for setup の下のRequire valid-user の上に Require ip 127.0.0.1 10.0.0.0/24  を記入

 </IfModule>
        Require ip 127.0.0.1 10.0.0.0/24
         Require valid-user
    </IfModule>

apache2 の再起動  sysemctl restart apache2 など

 

タグ: 

オープンソースソフトウェア: 

PostgreSQL

データベース PostgreSQL について

 

インストール

Debianの場合

 

PostgreSQL 10 とDebian Stretch

参考にしたサイト https://tecadmin.net/install-postgresql-on-debian/

事前準備: PostgreSQLはデフォルトでTCP/IPポートの5432を使用します。接続できるようにTCPポートの確認をします。

参考にしたサイト: https://blogs.yahoo.co.jp/wyamamo/27832288.html

< 参考 > Debian 9 (Stretch) - ファイアウォール設定

 https://www.mk-mode.com/octopress/2017/08/16/debian-9-firewall-setting/

TCP/IPポートの外部から確認方法

 nc -v -z -w 3 <サーバのアドレス> <ポート番号>

 

1)PostgreSQLの公式レポジトリからダウンロードするためのキーを取得します

 wget -q https://www.postgresql.org/media/keys/ACCC4CF8.asc -O - | sudo apt-key add -

詳細は、PostgreSQLの公式サイトでDebian(Ubuntu)のインストール手順を確認します。

https://www.postgresql.org/download/linux/ubuntu/

 

2)レポジトリをDebianのaptソースに登録

 sudo sh -c 'echo "deb http://apt.postgresql.org/pub/repos/apt/ stretch-pgdg main" >> /etc/apt/sources.list.d/pgdg.list'

 

3)PostgreSQLサーバーのインストール

PostgreSQL公式サイトのレポジトリからダウンロード、インストール

 sudo apt-get update
 sudo apt-get install postgresql postgresql-contrib

 

4)PostgreSQLデータベースに接続

インストール時に、postgresというユーザーとその権限’postgres’、および、Debianのユーザーアカウント 'postgres'というユーザーも作成します。

もし、ユーザー作成などが出来なかった場合は、以下の手順で作成します。

 a) adduser postgres

  

postgresユーザーでデータベースに接続して確認し、Drupalなどのインストールで必要なPostgreSQLデータベースのユーザー(例えばpgadmin)を作成

参考にしたサイト: http://symfoware.blog68.fc2.com/blog-entry-1999.html

 sudo su - postgres
 psql

 $ createuser --pwprompt --interactive pgadmin

ログインできるかテストします。

 $ psql -U pgadmin -d postgres -h localhost

テストとしてデータベースを作成してみます

 postgres=# create database sample;

データベースの一覧表示

 postgres=# \l

 

5)外部接続ができるか、設定の確認

postgresql.conf の編集

 vim /etc/postgresql/9.6/main/postgresql.conf

 listen_addresses = '*'  の追加

pg_hba.confの編集

接続を許可するIPの範囲を指定(全てから接続許可する場合)

 vim /etc/postgresql/9.6/main/pg_hba.conf

 host    all             all             0.0.0.0/0         md5 

 

6)PostgreSQLの再起動

 service postgresql restart

 

 

タグ: 

オープンソースソフトウェア: 

Frontend

Webサイトのフロントエンド

 

フロントエンドの開発環境

Gatsby

フロントエンドの開発言語

Angular

 

React

 

Vue.js

 

Node.js

 

 

タグ: 

Gatsby

Gatsby

Gatsby サイト https://www.gatsbyjs.org/

 

チュートリアル
  • Build blazing fast web applications with Gatsby 101

Gatsby + Drupal https://gatsbyguides.com/tutorial/

 

  • Integrating Headless Drupal with Gatsby (JSON:API) - Part 1

https://www.qed42.com/blog/integrating-headless-drupal-gatsby-jsonapi-part-1

 

 

Gatsby Cli

 

Gatsby起動コマンドの設定

develop [オプション] 

-H, --host ローカルホスト  デフォルトは localhost
-p, --port ポートの設定   デフォルトは 8000
-o, --open Open the site in your (default) browser for you
-S, --https   HTTPSを使用する場合
 
例えば gatsby develop --port=8080 --host=192.168.1.100

 

 

タグ: 

Git

GitHubについて

 

ホームページ https://github.com

 

FAQ

DebianにGitインストール後、「__git_ps1 コマンドが見つかりません」というエラーが表示される場合は、自分の.bashrcファイルに設定を追加します。次のサイトを参考に。http://blog.twilighteve.info/2014/11/git.html

2つのファイルをダウンロード

上記の2ファイルをログインユーザーのホームディレクトリ(.bashrcファイルがあるディレクトリ)に保存します。

以下の設定を自分の .bashrcファイルに追加します。

source ~/git-prompt.sh

source ~/git-completion.bash

PS1="\h@\u:\W\$(__git_ps1) \$ "

その設定を反映させます。 source ~/.bashrc

 

タグ: 

オープンソースソフトウェア: 

Groupware

オープンソースソフトウェアのグループウェア

 

国産のグループウェアAipo(アイポ) の技術的な話題について  ここから

 

 海外のグループウェア

 

オープンソースソフトウェア: 

Aipo

グループウェアAipoの技術的な話題

インストール :

サーバー環境 Windows(32ビット)、Linux(32ビット)

 

 

Learning

★教育、eラーニング、Webinarなど

 

Mail

メール

SMTPサーバー、POPサーバーなど、メールサーバーに関する情報

 

SMTPメールサーバー

 

qmail

役立つ情報

 

  • Lifw with qmail

http://www.lifewithqmail.org/

 

 

 

  • sqmail install guide for Debian 9 (stretch)

System vorbereiten, sqmail mit Abhängigkeiten installieren

https://www.oliwel.de/basissystem-und-sqmail/

 

  • The updated qmailrocks.org qmail Installation guide for Debian 8 (Jessie)

http://qmailrocks.thibs.com/

Install Ezmlm-idx

https://qmailrocks.thibs.com/ezmlm-idx.php

 

  • qmailを使った学校内メールシステム事例

E-mail: The SUNY Potsdam Model: Scalable Open-Source Infrastructure

http://www.fritzhardy.com/projects/email/

 

  • qmailのインストール設定事例

series of “Nifty and Minimally Invasive qmail Tricks”

https://schmonz.com/2017/01/18/qmail-smtp-auth-tls-redux/

Amitai's qmail stuff

https://schmonz.com/qmail/

 

  • notqmailのインストール設定事例

What is notqmail?   https://github.com/notqmail/notqmail/wiki#what-are-the-projects-goals

notqmail 1.07  https://github.com/notqmail/notqmail/wiki/notqmail-1.07#how-to-install

binary install script, for exampl Debian, Ubuntu, CentOS others

https://software.opensuse.org//download.html?project=home%3Anotqmail&pac...

 

 

 

  • qmailのインストール設定事例 qmail + vpopmail + Dovecot | Roberto's qmail notes

http://notes.sagredo.eu/

qmail + vpopmail + Dovecot   http://notes.sagredo.eu/node/8

 

  • eQmail

eQmail

https://blog.dyndn.es/doku.php/blog/2014/10/18_eqmail_1.08

 

  • CentOSにQmailをインストール

qmail(with smtp auth) + vpopmail + ezmlm-idx + dovecot + qmailadminなサーバ構築

https://jw7.org/2015/06/21/qmail/

 

  • qmail + vpopmail + qmailadmin インストール

http://www.ksknet.net/qmail/qmail_vpopmail.html

 

  • Installing ezmlm on Debian squeeze with existing qmail and vpopmail system

http://geroyblog.blogspot.jp/2013/04/installing-ezmlm-on-debian-squeeze-...

 

  • The updated qmailrocks.org qmail Installation guide for Debian 8 (Jessie)

http://qmailrocks.thibs.com/

 

  • qmail によるメールサーバ構築(日本語)

http://www.ep.sci.hokudai.ac.jp/~epmail/y2011/dvlop/qmail.html

http://www.ep.sci.hokudai.ac.jp/~epmail/y2012/dvlop/qmail.html

http://www.ep.sci.hokudai.ac.jp/~epmail/y2013/

http://www.ep.sci.hokudai.ac.jp/~epmail/y2014/

http://www.ep.sci.hokudai.ac.jp/~epmail/y2014/dvlop/qmail.html

 

(Debian GNU/Linux 8.0 Jessie) netqmail + pop tcpserver + imap Devecot + smtp tcpserver + ezmlm

http://www.ep.sci.hokudai.ac.jp/~epmail/

http://www.ep.sci.hokudai.ac.jp/~epmail/y2017/dvlop/qmail.html

上記ページで説明と実際の修正内容(2021年7月に作業、環境:Debian10)

詳細は「netqmailインストールを参照https://gennai3.com/techinfo/oss/mail/qmail/netqmail

qmail のソースダウンロード: wget http://www.netqmail.org/netqmail-1.06.tar.gz

qmail SMTP relay rejectのソースダウンロード: wget http://vps-tora.com/src/qmail-smtpd-relay-reject

「OpenSSLの導入」

wget http://www.openssl.org/source/openssl-1.1.1j.tar.gz

swにコマンドオプションのーをつける  sudo make install -sw

 

 

(Debian GNU/Linux 8.0 Jessie) 

http://www.ep.sci.hokudai.ac.jp/~epmail/y2020/

 

  • 「実用qmailサーバ運用・管理術」

http://www.atmarkit.co.jp/flinux/index/indexfiles/qmailindex.html

 

  • Install and use qmqtool

Qmqtool is a utility designed for viewing and safely modifying the contents of a qmail queue.

http://qmailrocks.thibs.com/qmqtool.php

 

  • Free Email-related Packages Andrew Richards

http://free.acrconsulting.co.uk/email/index.html

 

  • openQmail

http://openqmail.org/doku.php

 

  • qmail のインストールと設定

https://itpass.scitec.kobe-u.ac.jp/hiki/hiki.cgi?%5BITPASS2018%5Dqmail+%...

 

  • qmail Add-on software

https://acrconsulting.co.uk/email/freesw.html

 

ezmlm-idx

https://untroubled.org/ezmlm/

 

 

Postfix

 

 

タグ: 

オープンソースソフトウェア: 

qmail install

qmailのインストール

netqmail, notqmail などのインストール方法

 

netqmailによるインストール

環境:

このインストール作業は、以下のサイトを参考にしました。

 

netqmail + POP(checkpw+tcpserver) + IMAP(dovecot+cram-md5) + SMTP(tcpserver) + ezmlm + ezmlm-idx

Debian 10 buster で、2021年7月25日に実施。なるべく2021年7月時点での最新版ソースを使ったインストールになります。

事前に、Psotfixやexim4などのSMTPサーバーがアンインストールされていることを確認して、インストールしました。

 

opensslの導入

opensslのインストール

OpenSSLは、SSLプロトコル・TLSプロトコルを提供するオープンソースです。今回は2021年7月25日現在の1.1.1j を使いました。

ソースのダウンロード: wget http://www.openssl.org/source/openssl-1.1.1j.tar.gz

解凍後、コンパイル

cd openssl-1.1.1j

./config --prefix=/usr --openssldir=/usr/local/openssl shared

make 

sudo make install -sw  (swにコマンドオプションのーをつける)

 

ucspi-tcpのソースパッケージにsslのパッチを適用

上記のOpenSSLのソースをダウンロードした同じディレクトリに、ucspi-tcpソースのダウンロード: wget http://cr.yp.to/ucspi-tcp/ucspi-tcp-0.88.tar.gz

参考資料: tcpserverやucspi-tcp関連の情報 http://www.emaillab.org/djb/tools/ucspi-tcp/top.html

SSL化パッチとその他のパッチをダウンロード

wget http://qmail.org/moni.csi.hu/pub/glibc-2.3.1/ucspi-tcp-0.88.a_record.patch

wget http://qmail.org/moni.csi.hu/pub/glibc-2.3.1/ucspi-tcp-0.88.nobase.patch

wget http://www.nrg4u.com/qmail/ucspi-tcp-ssl-20050405.patch.gz

gzip -d ucspi-tcp-ssl-20050405.patch.gz

ucspi-tcpにパッチを適用する

cd ucspi-tcp-0.88

patch -p0 < ../ucspi-tcp-ssl-20050405.patch

patch -p1 < ../ucspi-tcp-0.88.a_record.patch

patch -p1 < ../ucspi-tcp-0.88.nobase.patch

make実行   make

tcpserver実行ファイルをコピーする

sudo cp tcpserver /usr/local/bin/tcpserver-ssl

 

- - - 

※以下の作業はnetqmailのインストール時にも実行させているので重複を確認する

smtp over ssl を使用する場合のために, qmail にsmtp-auth のパッチをあてる

以前qmail のソースを展開したディレクトリに移動し, パッチをあてる。

tar zxvf netqmail-1.06.tar.gz

cp -ar netqmail-1.06 netqmail-1.06_smtps

cd netqmail-1.06_smtps

- - - 

 

netqmailのインストール前にqmailで必要なグループ・ユーザーの作成

groupadd nofiles 
useradd -g nofiles -d /var/qmail/alias -s /bin/false alias
useradd -g nofiles -d /var/qmail -s /bin/false qmaild
useradd -g nofiles -d /var/qmail -s /bin/false qmaill
useradd -g nofiles -d /var/qmail -s /bin/false qmailp
groupadd qmail
useradd -g qmail -d /var/qmail -s /bin/false qmailq
useradd -g qmail -d /var/qmail -s /bin/false qmailr
useradd -g qmail -d /var/qmail -s /bin/false qmails

 

netqmailのインストール

netqmailがソースプログラムからコンパイルしてインストール

netqmail のソースダウンロード: wget http://www.netqmail.org/netqmail-1.06.tar.gz

解凍後、パッチプログラムをダウンロードしてインストールします。パッチの内容は

  • qmail-103.patch (DNS応答に関するパッチ)
  • qmail-date-localtime.patch (ローカルタイムに関するパッチ)
  • qmail-smtpd-relay-reject (リレーサーバとして利用させないためのパッチ)
  • qmail-smtpd-auth-0.31.tar.gz (SMTP認証をqmail-smtpdに追加、smtp-auth のためのパッチ, 後ほど適用する. 詳しくは, こちらを参照)

 qmail-103.patch ダウンロード: wget http://www.ckdhr.com/ckd/qmail-103.patch

 qmail-date-localtime.patchダウンロード: wget http://www.asahi-net.or.jp/~aa4t-nngk/codes/qmail-date-localtime.patch

 qmail SMTP relay rejectダウンロード: wget http://vps-tora.com/src/qmail-smtpd-relay-reject

 qmail-smtpd-auth-0.31.tar.gzダウンロード: wget http://tomclegg.net/qmail/qmail-smtpd-auth-0.31.tar.gz

 qmail-smtpd-auth-0.31を解凍: tar zxvf qmail-smtpd-auth-0.31.tar.gz

 

qmailにパッチ適用し、ビルド・インストール

cp -r netqmail-1.06 netqmail-1.06_smtp
cd netqmail-1.06_smtp
patch -p1 < ../qmail-103.patch
patch -p1 < ../qmail-date-localtime.patch
patch -p1 < ../qmail-smtpd-relay-reject
make man
make
make setup check

インストール後の /var/qmail

# ls -la /var/qmail/
合計 40
drwxr-xr-x 10 root   qmail 4096  7月 27 12:30 .
drwxr-xr-x 13 root   root  4096  7月 27 12:30 ..
drwxr-sr-x  2 alias  qmail 4096  7月 27 12:30 alias
drwxr-xr-x  2 root   qmail 4096  7月 27 12:30 bin
drwxr-xr-x  2 root   qmail 4096  7月 27 12:30 boot
drwxr-xr-x  2 root   qmail 4096  7月 27 12:30 control
drwxr-xr-x  2 root   qmail 4096  7月 27 12:30 doc
drwxr-xr-x 10 root   qmail 4096  7月 27 12:30 man
drwxr-x--- 11 qmailq qmail 4096  7月 27 12:30 queue
drwxr-xr-x  2 root   qmail 4096  7月 27 12:30 users

 

qmailに smtp-auth のパッチ

念のために smtp over ssl を使うときのために、qmailに smtp-auth のパッチを適用させます。

qmailのソースをダウンロードしたディレクトリに、qmail-smtpd-auth-0.31.tar.gz (smtp-auth のためのパッチ)をダウンロードします。

wget http://tomclegg.net/qmail/qmail-smtpd-auth-0.31.tar.gz

qmailを解凍後、そのqmailを同じディレクトリ内に netqmail-1.06_smtps というディレクトリ名でコピーします。

その netqmail-1.06_smtps に移動して、qmail-103.patch (DNS応答に関するパッチ)と、qmail-date-localtime.patch (ローカルタイムに関するパッチ)
と、qmail-smtpd-relay-reject (リレーサーバとして利用させないためのパッチ)の3つのパッチを適用させます。

qmailのディレクトリにある qmail-smtpd-auth-0.31 パッチプログラムを、netqmail-1.06_smtpディレクトリ内にコピーし、make 実行し、できたqmail-smtpd を/var/qmail/bin/qmail-smtpd-authへコピーします。

tar zxvf netqmail-1.06.tar.gz
cp -r netqmail-1.06 netqmail-1.06_smtps
cd netqmail-1.06_smtps
patch -p1 < ../qmail-103.patch
patch -p1 < ../qmail-date-localtime.patch
patch -p1 < ../qmail-smtpd-relay-reject
cp -r ../qmail-smtpd-auth-0.31/* ./
make
cp qmail-smtpd /var/qmail/bin/qmail-smtpd-auth

 

初期設定

制御ファイルの設定

/var/qmail/control 以下に制御ファイルを作成、パーミッションは chmod 644  例えば、ドメイン名 xxx.com   ホスト名 test.xxx.com

 /var/qmail/control/defaultdomin    内容は ドメイン名 xxx.com

 /var/qmail/control/locals  内容は localhost  と ドメイン名 もしくは ホスト名  test.xxx.com

 /var/qmail/control/me   内容は ホスト名  test.xxx.com

 /var/qmail/control/plusdomain  内容は xxx.com

 /var/qmail/control/rcpthosts   内容は localhost  と ドメイン名 もしくは ホスト名 test.xxx.com

 /var/qmail/control/databytes  内容は  100000000   100MB以上のメールは拒否

/var/qmail/control/queuelifetime  内容は 259200

設定の確認 /var/qmail/bin/qmail-showctl

 

システムのエイリアスアドレス設定

以下のファイルを、ファイル名 alias.sh として作成し、実行権を付加。chmod u+x alias.sh

root 宛のメールをフォワードする先に 「例えば、自分のメールアドレス」 を指定する。「転送」行は'&'で始めます。残りの部分はメイルアドレスです。

 cd /var/qmail/alias
 echo '&自分のメールアドレスを記入' > .qmail-root
 echo '&root' > .qmail-postmaster
 echo '&root' > .qmail-mailer-daemon
 echo '&root' > .qmail-bin
 echo '&root' > .qmail-daemon
 echo '&root' > .qmail-games
 echo '&root' > .qmail-ingres
 echo '&root' > .qmail-nobody
 echo '&root' > .qmail-system
 echo '&root' > .qmail-toor
 echo '&root' > .qmail-uucp
 echo '&root' > .qmail-usenet
 echo '&root' > .qmail-anonymous
 echo '&root' > .qmail-mail
 echo '&root' > .qmail-www
 echo '&root' > .qmail-dns
 chmod 644 .qmail-*

 

~/Mailbox への配送

Mailboxへ配送するために、/etc/profile の最後の行に以下を書き加える。

MAIL="$HOME/Mailbox"
MAILDROP="$HOME/Mailbox"
export MAIL MAILDROP

cshユーザーのために、/etc/csh.cshrc ファイルを作成し、最後の行に以下を書き加える。

setenv MAIL $HOME/Mailbox
setenv MAILDROP $HOME/Mailbox

※各ユーザーのホームディレクトリのパーミッションは755でないとメール配送時にエラーになるようです。

 

インストールした実行ファイルへのPATHの設定

/var/qmail/bin 以下のコマンドにパスを通す設定として、bash ユーザのために/etc/profile のPATH= の行(2 行ごとに)に/var/qmail/bin を付け加える。

PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/var/qmail/bin"
PATH="/usr/local/bin:/usr/bin:/bin:/usr/local/games:/usr/games:/var/qmail/bin"

cshユーザーのために、/etc/csh.cshrc ファイルに、同様のPATH設定を書き加える。

setenv PATH /usr/local/bin:/usr/bin:/bin:/var/qmail/bin

 

マニュアルのmanを有効にする

/etc/manpath.config に以下の行を追加する。

MANDATORY_MANPATH                  /var/qmail/man
MANPATH_MAP        /var/qmail/bin  /var/qmail/man
MANDB_MAP          /var/qmail/man  /var/qmail/man

 

qmailの起動

qmailを起動する設定とスタートスクリプトの作成。

cp /var/qmail/boot/home /var/qmail/rc

qmailファイルを /etc/init.d/ へコピー  cp qmail /etc/init.d/qmail

そのqmailファイルに実行権を設定  chmod +x /etc/init.d/qmail

 

スタートスクリプト qmail  を作成、内容は以下のとおり。

#!/bin/bash
#
# /etc/init.d/qmail : start or stop the qmail mail subsystem.
#
# source from http://www.atmarkit.co.jp/ait/articles/0211/02/news001.html
#
#
# updated by MIKAMI Takashi (2015/12/15)
# updated by MIKAMI Takashi (2014/06/12)
# created by MIKAMI Takashi (2014/06/11)

### BEGIN INIT INFO
# Provides:          qmail
# Required-Start:    $remote_fs
# Required-Stop:     $remote_fs
# Should-Start:      $network $syslog
# Should-Stop:       $network $syslog
# Default-Start:     2 3 4 5
# Default-Stop:      0 1 6
# Short-Description: Start and stop qmail
# Description:       qmail is qmail
### END INIT INFO

PATH=/var/qmail/bin:/usr/local/bin:/bin:/usr/bin

#[ -f /var/qmail/rc ] || exit 0
[ -f /var/qmail/bin/qmail-start ] || exit 0
[ -f /var/qmail/bin/qmail-send ] || exit 0

case "$1" in
    start)
# Start daemons.
echo "Startig mail-transfer agent: qmail."
sh -c '/var/qmail/rc &'

# For SMTP
#        sh -c " /sbin/start-stop-daemon --start --quiet --user qmaild \
#        --pidfile /var/run/tcpserver_smtpd.pid --make-pidfile \
#        --exec /usr/local/bin/tcpserver -- -HRv -u ` id -u qmaild ` \
#        -g ` id -g qmaild ` -x /etc/tcp.smtp.cdb 0 smtp \
#        /usr/local/bin/rblsmtpd -r bl.spamcop.net \
# /var/qmail/bin/qmail-smtpd 2>&1 \
# | /var/qmail/bin/splogger smtpd 3 > /dev/null 2>&1 &"

# For SMTP over SSL
#       sh -c "/sbin/start-stop-daemon --start --quiet --user qmaild \
#       --pidfile /var/run/tcpserver_ssmtp.pid --make-pidfile \
#       --exec /usr/local/bin/tcpserver-ssl -- -s -HRv -u \
#       ` id -u qmaild ` -g ` id -g qmaild ` -x /etc/tcp.smtp.cdb \
#        -n /var/qmail/server.key/qmail.pem 0 ssmtp \
#        /usr/local/bin/rblsmtpd -r bl.spamcop.net \
# /var/qmail/bin/qmail-smtpd-auth usuzumi.ep.sci.hokudai.ac.jp \
#        /bin/checklocalpwd /bin/true 2>&1 \
# | /var/qmail/bin/splogger smtpd 3 > /dev/null 2>&1 &"

# For POP3
# sh -c "/sbin/start-stop-daemon --start --quiet --user root \
# --pidfile /var/run/tcpserver_pop3d.pid --make-pidfile \
# --exec /usr/local/bin/tcpserver -- -v -u 0 -g 0 0 pop3 \
# /var/qmail/bin/qmail-popup \
# usuzumi.ep.sci.hokudai.ac.jp /bin/checkapoppw \
# /var/qmail/bin/qmail-pop3d Maildir 2>&1 \
# | /var/qmail/bin/splogger pop3d 3 > /dev/null 2>&1 &"

# For POP3 over SSL
# sh -c "/sbin/start-stop-daemon --start --quiet --user root \
# --pidfile /var/run/tcpserver_pop3s.pid --make-pidfile \
# --exec /usr/local/bin/tcpserver-ssl -- -s \
#       -n /var/qmail/server.key/qmail.pem \
#      -v -u 0 -g 0 0 pop3s \
# /var/qmail/bin/qmail-popup \
# usuzumi.ep.sci.hokudai.ac.jp /bin/checkapoppw \
# /var/qmail/bin/qmail-pop3d Maildir 2>&1 \
# | /var/qmail/bin/splogger pop3d 3 > /dev/null 2>&1 &"

;;

    stop)
# Stop daemons.
echo "Stopping mail-transfer agent: qmail"
PID=`/bin/ps -aefw | grep qmail | awk '{print $2}'`
if [ ! -z "$PID" ] ; then
    /bin/kill ${PID} 1> /dev/null 2>&1
fi

# /sbin/start-stop-daemon --user qmails --stop --quiet --oknodo --exec /var/qmail/bin/qmail-send # qmail-send
# /sbin/start-stop-daemon --user qmaild --stop --quiet --oknodo --pidfile /var/run/tcpserver_smtpd.pid --exec /usr/local/bin/tcpserver # smtp
#        /sbin/start-stop-daemon --user root --stop --quiet --oknodo --pidfile /var/run/tcpserver_pop3d.pid --exec /usr/local/bin/tcpserver # pop3
# /sbin/start-stop-daemon --user qmaild --stop --quiet --oknodo --pidfile /var/run/tcpserver_ssmtp.pid --exec /usr/local/bin/tcpserver-ssl # smtp over SSL
# /sbin/start-stop-daemon --user root --stop --quiet --oknodo --pidfile /var/run/tcpserver_pop3s.pid --exec /usr/local/bin/tcpserver-ssl # pop3s

;;

# ===modified by Mikami Takashi (2014/06/11)===
    restart)
$0 stop
$0 start
;;

# ===modified by Mikami Takashi (2014/06/11)===
    cdb)
echo "Rebuilding tcp.smtp.cdb"
cd /etc
/usr/local/bin/tcprules /etc/tcp.smtp.cdb tcp.smtp.tmp < tcp.smtp
;;

    *)
echo 'Usage: /etc/init.d/qmail {start|stop|restart|cdb}'
exit 1
esac

exit 0

 

ブート時に自動的に起動するように、 以下のコマンドで各/etc/rc.X ディレクトリからシンボリックリンクを設定する。

update-rc.d qmail defaults

qmailを実行する   /etc/init.d/qmail start

qmailの実行を確認

ps aux | grep qmail

$ ps aux | grep qmail
avahi      349  0.0  0.3   8284  3788 ?        Ss   15:00   0:00 avahi-daemon: running [netqmail.local]
qmails     454  0.0  0.0   2340   744 ?        S    15:00   0:00 qmail-send
qmaill     455  0.0  0.0   2292   736 ?        S    15:00   0:00 splogger qmail
root       456  0.0  0.0   2292   680 ?        S    15:00   0:00 qmail-lspawn ./Mailbox
qmailr     457  0.0  0.0   2284   740 ?        S    15:00   0:00 qmail-rspawn
qmailq     458  0.0  0.0   2284   740 ?        S    15:00   0:00 qmail-clean
hodota     891  0.0  0.0   4332   888 pts/0    S+   15:02   0:00 grep qmail

service qmail status

$ sudo service qmail status
● qmail.service - LSB: Start and stop qmail
   Loaded: loaded (/etc/init.d/qmail; generated)
   Active: active (running) since Thu 2021-07-29 15:00:52 JST; 1min 54s ago
     Docs: man:systemd-sysv-generator(8)
    Tasks: 5 (limit: 1138)
   Memory: 3.1M
   CGroup: /system.slice/qmail.service
           tq454 qmail-send
           tq455 splogger qmail
           tq456 qmail-lspawn ./Mailbox
           tq457 qmail-rspawn
           mq458 qmail-clean

 7月 29 15:00:52 netqmail systemd[1]: Starting LSB: Start and stop qmail...
 7月 29 15:00:52 netqmail qmail[451]: Startig mail-transfer agent: qmail.
 7月 29 15:00:52 netqmail systemd[1]: Started LSB: Start and stop qmail.
 7月 29 15:00:52 netqmail qmail[455]: 1627538452.172180 status: local 0/10 remote 0/20

 

動作検証

ローカル配送テストその1

自分に送る準備

echo ./Mailbox > ~/.qmail
touch ~/Mailbox

自分へメールを送ります。下記のhogeは自分のLinuxユーザーアカウント名に変更して実行します。~hoge/Mailbox にメールが送られることを確認

echo to: hoge | qmail-inject

確認する

lv ~/Mailbox

From hoge@netqmail.ijinden.jp Thu Jul 29 06:08:02 2021
Return-Path: <hoge@netqmail.ijinden.jp>
Delivered-To: hoge@netqmail.ijinden.jp
Received: (qmail 911 invoked by uid 1000); 29 Jul 2021 15:08:02 +0900
Date: 29 Jul 2021 15:08:02 +0900
Message-ID: <20210729060802.910.qmail@netqmail.ijinden.jp>
From: hoge@netqmail.ijinden.jp
to: hoge@netqmail.ijinden.jp

 

ローカル配送テストその2

存在しない宛先に送る。バウンスメールが~hoge/Mailbox に送られてくれば大丈夫です。

echo to: nonexisten | qmail-inject
lv ~/Mailbox

From hoge@netqmail.ijinden.jp Thu Jul 29 06:08:02 2021
Return-Path: <hoge@netqmail.ijinden.jp>
Delivered-To: hoge@netqmail.ijinden.jp
Received: (qmail 911 invoked by uid 1000); 29 Jul 2021 15:08:02 +0900
Date: 29 Jul 2021 15:08:02 +0900
Message-ID: <20210729060802.910.qmail@netqmail.ijinden.jp>
From: hoge@netqmail.ijinden.jp
to: hoge@netqmail.ijinden.jp

From MAILER-DAEMON Thu Jul 29 07:00:04 2021
Return-Path: <>
Delivered-To: hoge@netqmail.ijinden.jp
Received: (qmail 1044 invoked for bounce); 29 Jul 2021 16:00:04 +0900
Date: 29 Jul 2021 16:00:04 +0900
From: MAILER-DAEMON@netqmail.ijinden.jp
To: hoge@netqmail.ijinden.jp
Subject: failure notice

Hi. This is the qmail-send program at netqmail.ijinden.jp.
I'm afraid I wasn't able to deliver your message to the following addresses.
This is a permanent error; I've given up. Sorry it didn't work out.

<nonexisten@netqmail.ijinden.jp>:
Sorry, no mailbox here by that name. (#5.1.1)

--- Below this line is a copy of the message.

Return-Path: <hoge@netqmail.ijinden.jp>
Received: (qmail 1041 invoked by uid 1000); 29 Jul 2021 16:00:04 +0900
Date: 29 Jul 2021 16:00:04 +0900
Message-ID: <20210729070004.1040.qmail@netqmail.ijinden.jp>
From: hoge@netqmail.ijinden.jp
to: nonexisten@netqmail.ijinden.jp

 

ローカル配送テストその3

他のホストのメールアカウントへ送信してみます。メールの主題や本文などは無記入の状態です。届いていればOKです。届かいない場合は、/var/log/syslogを見て原因を見つけます。

echo to: メールアドレス | /var/qmail/bin/qmail-inject

 

ローカル配送テストその4

他のホストの存在しないメールアカウントへ送信してみます。メールの主題や本文などは無記入の状態です。-f オプションでバウンスの送り先を指定します。詳細は、/var/log/syslogでも確認できます。

echo to: 存在しないメールアドレス | /var/qmail/bin/qmail-inject -f hoge@netqmail.ijinden.jp

hoge@netqmail.ijinden.jp にバウンスが来ていることを確認する.

lv ~hoge/Mailbox

 

POP IMAP SMTP ezmlmのインストール

次のページへ

 

 

タグ: 

オープンソースソフトウェア: 

POP / tcpserver

POP(tcpserver)のインストール

POPはtcpserverから起動されます。tcpserverはucspi-tcpパッケージの一部として提供されており、inetdなどの従来のサービス起動プロセスよりもDoS攻撃などにも対応できるように同時接続制限が設定できる、制御ファイルは独自データベースファイル(cdb)を採用しているため、高速な処理が可能、設定変更にサービス再起動が必要ない、などメリットがあります。

POPでメールを読む際にパスワードの暗号化でapopをインストールします。

 

POPソース、コンパイル

checkpw-1.03.tar.gzをダウンロード、コンパイル、インストール

wget http://sourceforge.net/projects/checkpw/files/checkpw/checkpw-1.03/check...

解凍後 cd chekpw-1.03/

make
make setup check

/bin/checkapoppw が出来ているか確認します。

ls -al /bin/checkapoppw
-rwx------ 1 root root 18784  7月 30 17:27 /bin/checkapoppw

 

tcpserverのインストール

wget http://www.emaillab.org/djb/tools/ucspi-tcp/ucspi-tcp-0.88.tar.gz

パッチucspi-tcp-0.88.errno.patchをダウンロード

wget http://qmail.org/moni.csi.hu/pub/glibc-2.3.1/ucspi-tcp-0.88.errno.patch

ucspi-tcp-0.88.tar.gzを解凍し、そのディレクトリに移動 cd ucspi-tcp-0.88

パッチ ucspi-tcp-0.88.errno.patch を適用

patch < ../ucspi-tcp-0.88.errno.patch

make 
make setup check

その後、tcpserver を起動するためにLinux再起動

 

設定

tcpserverからの呼び出し

tcpserver からPOPを呼び出すために、起動スクリプト /etc/init.d/qmail のPOPの以下の行コメントを外します。

 # For POP3
#       sh -c "/sbin/start-stop-daemon --start --quiet --user root \
#       --pidfile /var/run/tcpserver_pop3d.pid --make-pidfile \
#       --exec /usr/local/bin/tcpserver -- -v -u 0 -g 0 0 pop3 \
#       /var/qmail/bin/qmail-popup \
#       usuzumi.ep.sci.hokudai.ac.jp /bin/checkapoppw \
#       /var/qmail/bin/qmail-pop3d Maildir 2>&1 \
#       | /var/qmail/bin/splogger pop3d 3 > /dev/null 2>&1 &"

以下のstopの部分もコメントを外します。

#        /sbin/start-stop-daemon --user root --stop --quiet --oknodo --pidfile /var/run/tcpserver_pop3d.pid --exec /usr/local/bin/tcpserver # pop3

以下のようになります。hoge.jp /bin/checkapoppw \     hoge.jpにはホスト名を記載します。

# For POP3
        sh -c "/sbin/start-stop-daemon --start --quiet --user root \
        --pidfile /var/run/tcpserver_pop3d.pid --make-pidfile \
        --exec /usr/local/bin/tcpserver -- -v -u 0 -g 0 0 pop3 \
        /var/qmail/bin/qmail-popup \
        hoge.jp /bin/checkapoppw \
        /var/qmail/bin/qmail-pop3d Maildir 2>&1 \
        | /var/qmail/bin/splogger pop3d 3 > /dev/null 2>&1 &"

/sbin/start-stop-daemon --user root --stop --quiet --oknodo --pidfile /var/run/tcpserver_pop3d.pid --exec /usr/local/bin/tcpserver # pop3

qmailの再起動: /etc/init.d/qmail restart

 

この時点、qmailの動作ステータスを確認するとワーニングが出ていて、'systemctl daemon-reload' を実行すればワーニングはなくなります。

Warning: The unit file, source configuration file or drop-ins of qmail.service changed on disk. Run 'systemctl daemon-reload' to reload units.
● qmail.service - LSB: Start and stop qmail
   Loaded: loaded (/etc/init.d/qmail; generated)
   Active: active (exited) since Fri 2021-07-30 17:57:22 JST; 16min ago
     Docs: man:systemd-sysv-generator(8)

 7月 30 17:57:22 netqmail systemd[1]: Starting LSB: Start and stop qmail...
 7月 30 17:57:22 netqmail qmail[449]: Startig mail-transfer agent: qmail.
 7月 30 17:57:22 netqmail systemd[1]: Started LSB: Start and stop qmail.
 7月 30 17:57:23 netqmail qmail[453]: 1627635443.017296 status: local 0/10 remote 0/20

systemctl daemon-reload

qmailの動作ステータスを確認し、ワーニングがないことを確認します。

 systemctl status qmail
● qmail.service - LSB: Start and stop qmail
   Loaded: loaded (/etc/init.d/qmail; generated)
   Active: active (exited) since Fri 2021-07-30 17:57:22 JST; 17min ago
     Docs: man:systemd-sysv-generator(8)
    Tasks: 0 (limit: 1138)
   Memory: 0B
   CGroup: /system.slice/qmail.service

 7月 30 17:57:22 netqmail systemd[1]: Starting LSB: Start and stop qmail...
 7月 30 17:57:22 netqmail qmail[449]: Startig mail-transfer agent: qmail.
 7月 30 17:57:22 netqmail systemd[1]: Started LSB: Start and stop qmail.
 7月 30 17:57:23 netqmail qmail[453]: 1627635443.017296 status: local 0/10 remote 0/20

POP3動作の確認

 ps aux | grep qmail
qmails     851  0.0  0.0   2340   680 pts/0    S    18:13   0:00 qmail-send
qmaill     853  0.0  0.0   2292   744 pts/0    S    18:13   0:00 splogger qmail
root       854  0.0  0.0   2292   676 pts/0    S    18:13   0:00 qmail-lspawn ./Mailbox
qmailr     855  0.0  0.0   2284   736 pts/0    S    18:13   0:00 qmail-rspawn
qmailq     856  0.0  0.0   2284   740 pts/0    S    18:13   0:00 qmail-clean
root       857  0.0  0.1   2404  1732 pts/0    S    18:13   0:00 /usr/local/bin/tcpserver -v -u 0 -g 0 0 pop3 /var/qmail/bin/qmail-popup netqmail.ijinden.jp /bin/checkapoppw /var/qmail/bin/qmail-pop3d Maildir
root       858  0.0  0.0   2292   736 pts/0    S    18:13   0:00 /var/qmail/bin/splogger pop3d 3
root       898  0.0  0.0   4332   888 pts/0    S+   18:19   0:00 grep qmail

 

~/Maildir/ への配送

環境変数の設定

POPによるメールの呼び出しは、Maildir形式で行います。/etc/profile に次の 2 行を追加します。

MAILDIR="$HOME/Maildir/"
export MAILDIR

cshは /etc/csh.cshrc に次の 1 行を追加します。

setenv MAILDIR $HOME/Maildir/

 

配送テスト

配送テストのために、一般ユーザーで以下の設定を行う。

~/Maildir の作成

maildirmake のスクリプトでMaildir ディレクトリを作成する。

$ maildirmake ~/Maildir

.qmail の編集

~/Maildir への配送を qmail に指示する (.qmail へ配送先ディレクトリを記述)

$ echo ./Maildir/ >> ~/.qmail
$ chmod 600 ~/.qmail

$ ls -la ~/.qmail
-rw------- 1 hodota hodota 21  7月 31 12:51 /home/hodota/.qmail

.qmail のパーミッションは、600 か 644 でなければならない。実行許可が出ていないことと、オーナー以外に書き込みが許可されていないことが要求される。

以上の作業は各ユーザごとに行わねばならなので、/etc/skel/ 以下 に .qmail や Maildir/ を置いておけば、adduser コマンドを用いてアカウ ントを新規に作ったときにできるホームディレクトリ内にこれらは自動で入ります。 新規にアカウントを取得する一般ユーザは、以上の作業が不要になります。

cp -ar /home/hodota/.qmail /etc/skel/
chown -R root:root /etc/skel/.qmail
cp -ar /home/hodota/Maildir /etc/skel/
chown -R root:root /etc/skel/Maildir/

認証パスワードの設定

~/Maildir/.password ファイルを作成します。 APOPPASSWORDは自分で考えたパスワードに変更します。APOPPASSWORDがPOP でメールを読むときの認証パスワードとなり、パーミッションを600としないとPOPが機能しません。

$ echo 'APOPPASSWORD' > ~/Maildir/.password
$ chmod 600 ~/Maildir/.password

テスト

配送テストを行う. 自分に送ってみる. 以下のコマンドを実行する.

$ echo to: chikuwaXX | /var/qmail/bin/qmail-inject

メールソフトで受信テストします。

受信サーバ: POP3
サーバのホスト名: mail.xxxxxx.jp
受信サーバのポート番号: 110
受信サーバの SSL: 接続の保護なし
認証方式: 暗号化されたパスワード認証 

 

 

 

タグ: 

オープンソースソフトウェア: 

SMTP / tcpserver

SMTP (tcpserver)

tcpserverの設定

 

タグ: 

オープンソースソフトウェア: 

VMailMgr

仮想ドメイン環境のVMailMgr

qmailを仮想ドメインで使う場合の認証プログラムとしてVMailMgr、VPopMailなどがあります。

VPopMail は以下のページが参考になります。sqmailとVPopMailのインストールです。

https://www.oliwel.de/vpopmail/

VPopMailのダウンロード: wget https://sourceforge.net/projects/vpopmail/files/vpopmail-stable/5.4.33/v...

 

VMailMgrのインストール

以下のサイトに過去のソースがあります。

http://untroubled.org/vmailmgr/current/

ソースのダウンロード: wget http://untroubled.org/vmailmgr/current/vmailmgr-0.97.tar.gz

 

 

 

タグ: 

オープンソースソフトウェア: 

ezmlm

ezmlm
ezmlmのインストール

 

 

タグ: 

オープンソースソフトウェア: 

imap dovecot

imap (Dovecot)インストール
Dovecotインストール

 

 

 

タグ: 

オープンソースソフトウェア: 

notqmail install

notqmailインストール

notqmaiのインストールは、事前にSSL証明書(インストールしたサーバー独自の)をインストールした環境で行います。

参考にしたサイト: https://www.bn-x.net/archives/note/2019/11/102/

 

notqmailのインストール

インストール作業はrootアカウントです。

ユーザーグループやユーザー追加設定

# groupadd nofiles
# useradd -g nofiles -d /var/qmail/alias -s /bin/false alias
# useradd -g nofiles -d /var/qmail -s /bin/false qmaild
# useradd -g nofiles -d /var/qmail -s /bin/false qmaill
# useradd -g nofiles -d /var/qmail -s /bin/false qmailp
# groupadd qmail
# useradd -g qmail -d /var/qmail -s /bin/false qmailq
# useradd -g qmail -d /var/qmail -s /bin/false qmailr
# useradd -g qmail -d /var/qmail -s /bin/false qmails

自分のホームのワーキングディレクトリにソースをダウンロード

notqmailのダウンロード: wget https://github.com/notqmail/notqmail/archive/refs/tags/notqmail-1.08.tar.gz

解凍後、make してインストールします。

# make setup check

 

 

 

 

タグ: 

オープンソースソフトウェア: 

Multimedia

マルチメディア(画像、動画、音声など)

 

グラフィックス

Inkscape : 高機能なグラフィックソフトです。イラストレータのAIファイル読み込み可能。

GIMP :  高機能なイメージデータ処理ソフトです。Photshopと同様機能があり、便利です。

 

動画

VLC : 動画のビューワーソフトとして、軽快で機能が豊富です。動画のキャプチャーもスナップション機能で簡単です。

オープンソースソフトウェア: 

GIMP

GIMP

概要

GIMP Windows 操作画面GIMPは、写真データや各種イメージデータを編集加工できる、PhotoShopに相当するイメージ編集加工ソフトです。

動作環境とライセンス

Windows、Mac、LinuxなどさまざまなOSで動作します。

 

スクリーンショット

 

インストール

WindowsやMacなどは、インストールプログラムを実行するだけでOKです。バージョンアップも、インストールプログラムを実行を実行する際に、既存のバージョンを確認します。

 

備考

 

お役だち情報

・ GIMPでファビコンを作成

GIMPでロゴなどを32x32のサイズでイメージを作成します。ファビコンで使う場合は、背景を透過にした方が、ホームページのブラウザーなどで表示がきれいになります。GIMPで透過を指定するには、

レイヤー > 透明部分 > 色を透明度に > 背景の色を選択クリック >  「色を透明度に」のダイアログで色を確認してOKをクリック > 選択した背景の色が透明に変換 >  保存は PNGもしくはGIFフォーマットにします。

その後、そのファイル名を favicon.ico などに変換して、ホームページサイトへアップロードします。

 

 

Inkscape

グラフィックスソフト Inkscapeについて

★概要

Inkscapeはイラストレーターや高機能グラフィックスソフトと同等の機能をもったベクター形式(Scalable Vector Graphics SVG)を採用したオープンソースソフトウェアです。インラストレータのAIファイルを読み込みできるのが、大きなメリットです。

★動作環境とライセンス

Linux、Mac OS X、Windows   

Licenseは GNU General Public License(GPL)  2011年2月4日現在

InkscapeでイラストレータのAIファイルを読み込み表示

★スクリーンショット  

イラストレータのAIファイルを読み込んで表示 

 

 

 

★インストール

ダウンロードは 次のサイトから sourceforge.net/projects/inkscape/

★備考
★参考情報

開発コミュニティサイト inkscape.org/

 

VLC

VLC

概要: 動画などのキャプチャに最適。

環境:

 

スクリーンショット:

 

ダウンロード

 

インストール

 

環境設定

 

備考

 

役立つ情報

 

 

オープンソースソフトウェア: 

Programing

★プログラミング言語

1) PHP

2) JavaScript

3) Perl

 

PHP

スクリプト言語 PHP について

 

PHP言語一般

 

CentOSでのPHP言語

 

Debian/UbuntuでのPHP言語

 

Debian 9 / 10 にPHP7.4をインストール

参照: Upgrade/Installation guide for PHP 7.4 on Ubuntu and Debian

 

WindowsでのPHP言語

 

PHP-CentOS

IUS Community Repository

IUS Community Repository について

CentOSのPHP、Python、MySQLについて、常に最新環境を提供するために活動しているコミュニティ組織です。

コミュニティサイト: iuscommunity.org/

レポジトリ ダウンロード: iuscommunity.org/Repos

参考情報:

CentOSのWikiサイトにて、IUS Commnuity Repositoryについて説明があります。 以下のサイト

wiki.centos.org/AdditionalResources/Repositories

このレポジトリはCentOSのコア派ケージを置き換えるような表現があります。

PHP5.1-Testing-repo5.2

CentOS標準PHP5.1をCentOSのTesting-repoでPHP5.2へバージョンアップ

1) 開発用のレポジトリを、Centos5.3のPHP5.1環境へ追加します。

 # /etc/yum.repos.d/CentOS-Testing.repo
以下の内容をファイルに追加します。
[c5-testing]
  name=CentOS-5 Testing
  baseurl=http://dev.centos.org/centos/$releasever/testing/$basearch/
  enabled=1
  gpgcheck=1
  gpgkey=http://dev.centos.org/centos/RPM-GPG-KEY-CentOS-testing
  includepkgs=php*

2)PHPのアップデイト
# rpm -qa |grep php
# yum update

3)Apache再起動
 # service httpd restart

4)もし php-mcryp を使っている場合は
rpm -e php-mcrypt-5.1.6-15.el5.centos.1

もしphp-common-5.2.6-2.el5s2  などが見つからないなどのエラーが起きた場合は、以下の--nodepsでトライしてみましょう。
wget -c http://sourcemirrors.org/scotth/centos/5/php/php-mcrypt-5.2.6-2.i386.rpm
rpm -i --nodeps php-mcrypt-5.2.6-2.i386.rpm

5)参考情報
以下のサイトに詳細手順が記載されております。
http://wiki.centos.org/HowTos/PHP_5.1_To_5.2?highlight=%28php%29

 

PHP5.2 install

PHP5.2とPHP5.3へのバージョンアップ手順

△PHP5.2について

CentOS 5.3 などではPHP5.1が標準サポートなので、PHP5.2以上を使う場合は、さまざまサードパーティが作成したRPMパッケージとそのレポジトリを利活用するようになります。remi というレポジトリもそのひとつです。

remiレポジトリにあるPHPの全てのリスト表示

 # yum --enablerepo=remi list php-*

△PHP5.2から5.3へのバージョンアップ

環境:  CentOS 5.5 x86_64 Linux version 2.6.18-194.26.1.el5 (mockbuild@builder10.centos.org) (gcc version 4.1.2 20080704 (Red Hat 4.1.2-48))

PHP5.2の内容: 既にremiレポジトリのPHP5.2環境がインストール済み

# yum list installed php*

Loaded plugins: fastestmirror, priorities Loading mirror speeds from cached hostfile * addons: ftp.iij.ad.jp * base: ftp.iij.ad.jp * extras: ftp.iij.ad.jp * updates: ftp.iij.ad.jp Installed Packages php.x86_64 5.2.9-1.el5.remi installed php-cli.x86_64 5.2.9-1.el5.remi installed php-common.x86_64 5.2.9-1.el5.remi installed php-dba.x86_64 5.2.9-1.el5.remi installed php-devel.x86_64 5.2.9-1.el5.remi installed php-gd.x86_64 5.2.9-1.el5.remi installed php-ldap.x86_64 5.2.9-1.el5.remi installed php-mbstring.x86_64 5.2.9-1.el5.remi installed php-mysql.x86_64 5.2.9-1.el5.remi installed php-odbc.x86_64 5.2.9-1.el5.remi installed php-pdo.x86_64 5.2.9-1.el5.remi installed php-pear.noarch 1:1.8.1-1.el5.remi installed php-pear-db.noarch 1.7.13-2.el5.rf installed php-pgsql.x86_64 5.2.9-1.el5.remi installed php-soap.x86_64 5.2.9-1.el5.remi installed php-xml.x86_64 5.2.9-1.el5.remi installed

PHP 5.2 から5.3 へアップデートするには libedit.x86_64 が必要となるので、まず、libeditをインストールする。

# yum install libedit.x86_64 --enablerepo=epel

Loaded plugins: fastestmirror, priorities Loading mirror speeds from cached hostfile * addons: ftp.iij.ad.jp * base: ftp.iij.ad.jp * epel: ftp.yz.yamagata-u.ac.jp * extras: ftp.iij.ad.jp * updates: ftp.iij.ad.jp Setting up Install Process Resolving Dependencies --> Running transaction check ---> Package libedit.x86_64 0:2.11-2.20080712cvs.el5 set to be updated --> Finished Dependency Resolution Dependencies Resolved ================================================================================ Package Arch Version Repository Size ================================================================================ Installing: libedit x86_64 2.11-2.20080712cvs.el5 epel 80 k Transaction Summary ================================================================================ Install 1 Package(s) Upgrade 0 Package(s) Total download size: 80 k Is this ok [y/N]: y Downloading Packages: libedit-2.11-2.20080712cvs.el5.x86_64.rpm | 80 kB 00:00 Running rpm_check_debug Running Transaction Test Finished Transaction Test Transaction Test Succeeded Running Transaction Installing : libedit 1/1 Installed: libedit.x86_64 0:2.11-2.20080712cvs.el5 Complete!

PHP5.3へのアップデート:

# yum --enablerepo=remi update php-\* Loaded plugins: fastestmirror, priorities Loading mirror speeds from cached hostfile * addons: ftp.iij.ad.jp * base: ftp.iij.ad.jp * extras: ftp.iij.ad.jp * remi: rpms.famillecollet.com * updates: ftp.iij.ad.jp Setting up Update Process Resolving Dependencies --> Running transaction check ---> Package php.x86_64 0:5.3.4-1.el5.remi set to be updated ---> Package php-cli.x86_64 0:5.3.4-1.el5.remi set to be updated ---> Package php-common.x86_64 0:5.3.4-1.el5.remi set to be updated ---> Package php-dba.x86_64 0:5.3.4-1.el5.remi set to be updated ---> Package php-devel.x86_64 0:5.3.4-1.el5.remi set to be updated ---> Package php-gd.x86_64 0:5.3.4-1.el5.remi set to be updated ---> Package php-ldap.x86_64 0:5.3.4-1.el5.remi set to be updated ---> Package php-mbstring.x86_64 0:5.3.4-1.el5.remi set to be updated ---> Package php-mysql.x86_64 0:5.3.4-1.el5.remi set to be updated ---> Package php-odbc.x86_64 0:5.3.4-1.el5.remi set to be updated ---> Package php-pdo.x86_64 0:5.3.4-1.el5.remi set to be updated ---> Package php-pgsql.x86_64 0:5.3.4-1.el5.remi set to be updated ---> Package php-soap.x86_64 0:5.3.4-1.el5.remi set to be updated ---> Package php-xml.x86_64 0:5.3.4-1.el5.remi set to be updated --> Finished Dependency Resolution Dependencies Resolved ================================================================================ Package Arch Version Repository Size ================================================================================ Updating: php x86_64 5.3.4-1.el5.remi remi 1.4 M php-cli x86_64 5.3.4-1.el5.remi remi 2.6 M php-common x86_64 5.3.4-1.el5.remi remi 968 k php-dba x86_64 5.3.4-1.el5.remi remi 59 k php-devel x86_64 5.3.4-1.el5.remi remi 622 k php-gd x86_64 5.3.4-1.el5.remi remi 204 k php-ldap x86_64 5.3.4-1.el5.remi remi 54 k php-mbstring x86_64 5.3.4-1.el5.remi remi 2.3 M php-mysql x86_64 5.3.4-1.el5.remi remi 157 k php-odbc x86_64 5.3.4-1.el5.remi remi 86 k php-pdo x86_64 5.3.4-1.el5.remi remi 116 k php-pgsql x86_64 5.3.4-1.el5.remi remi 132 k php-soap x86_64 5.3.4-1.el5.remi remi 275 k php-xml x86_64 5.3.4-1.el5.remi remi 220 k Transaction Summary ================================================================================ Install 0 Package(s) Upgrade 14 Package(s) Total download size: 9.1 M

Is this ok [y/N]: y

Downloading Packages: (1/14): php-ldap-5.3.4-1.el5.remi.x86_64.rpm | 54 kB 00:00 (2/14): php-dba-5.3.4-1.el5.remi.x86_64.rpm | 59 kB 00:00 (3/14): php-odbc-5.3.4-1.el5.remi.x86_64.rpm | 86 kB 00:01 (4/14): php-pdo-5.3.4-1.el5.remi.x86_64.rpm | 116 kB 00:01 (5/14): php-pgsql-5.3.4-1.el5.remi.x86_64.rpm | 132 kB 00:01 (6/14): php-mysql-5.3.4-1.el5.remi.x86_64.rpm | 157 kB 00:01 (7/14): php-gd-5.3.4-1.el5.remi.x86_64.rpm | 204 kB 00:01 (8/14): php-xml-5.3.4-1.el5.remi.x86_64.rpm | 220 kB 00:01 (9/14): php-soap-5.3.4-1.el5.remi.x86_64.rpm | 275 kB 00:01 (10/14): php-devel-5.3.4-1.el5.remi.x86_64.rpm | 622 kB 00:02 (11/14): php-common-5.3.4-1.el5.remi.x86_64.rpm | 968 kB 00:02 (12/14): php-5.3.4-1.el5.remi.x86_64.rpm | 1.4 MB 00:03 (13/14): php-mbstring-5.3.4-1.el5.remi.x86_64.rpm | 2.3 MB 00:04 (14/14): php-cli-5.3.4-1.el5.remi.x86_64.rpm | 2.6 MB 00:04 --------------------------------------------------------------------------------

Total 245 kB/s |

9.1 MB 00:37 Running rpm_check_debug Running Transaction Test Finished Transaction Test Transaction Test Succeeded Running Transaction WARNING : This php-* RPM are not official Fedora/Redhat build and overrides the official ones. Don't file bugs on Fedora Project nor Redhat. Use dedicated forums http://forums.famillecollet.com/ Updating : php-common 1/28 Updating : php-pdo 2/28 Updating : php-cli 3/28 Updating : php 4/28 Updating : php-devel 5/28 Updating : php-dba 6/28 Updating : php-mysql 7/28 Updating : php-xml 8/28 Updating : php-soap 9/28 Updating : php-pgsql 10/28 Updating : php-odbc 11/28 Updating : php-ldap 12/28 Updating : php-gd 13/28 Updating : php-mbstring 14/28 Cleanup : php-cli 15/28 Cleanup : php-devel 16/28 Cleanup : php-dba 17/28 Cleanup : php-common 18/28 Cleanup : php-mysql 19/28 Cleanup : php-xml 20/28 Cleanup : php-soap 21/28 Cleanup : php 22/28 Cleanup : php-pgsql 23/28 Cleanup : php-odbc 24/28 Cleanup : php-ldap 25/28 Cleanup : php-gd 26/28 Cleanup : php-pdo 27/28 Cleanup : php-mbstring 28/28 Updated: php.x86_64 0:5.3.4-1.el5.remi php-cli.x86_64 0:5.3.4-1.el5.remi php-common.x86_64 0:5.3.4-1.el5.remi php-dba.x86_64 0:5.3.4-1.el5.remi php-devel.x86_64 0:5.3.4-1.el5.remi php-gd.x86_64 0:5.3.4-1.el5.remi php-ldap.x86_64 0:5.3.4-1.el5.remi php-mbstring.x86_64 0:5.3.4-1.el5.remi php-mysql.x86_64 0:5.3.4-1.el5.remi php-odbc.x86_64 0:5.3.4-1.el5.remi php-pdo.x86_64 0:5.3.4-1.el5.remi php-pgsql.x86_64 0:5.3.4-1.el5.remi php-soap.x86_64 0:5.3.4-1.el5.remi php-xml.x86_64 0:5.3.4-1.el5.remi Complete!

 

△ MySQLのアップデイト

念のためにMySQLも既に導入済みのremiレポジトリからアップデイト:

アップデイト前の環境

# yum list installed mysql*

Loaded plugins: fastestmirror, priorities Loading mirror speeds from cached hostfile * addons: ftp.iij.ad.jp * base: ftp.iij.ad.jp * extras: ftp.iij.ad.jp * updates: ftp.iij.ad.jp Installed Packages mysql.x86_64 5.1.34-1.el5.remi installed mysql-connector-odbc.x86_64 3.51.26r1127-1.el5 installed mysql-devel.x86_64 5.1.34-1.el5.remi installed mysql-libs.x86_64 5.1.34-1.el5.remi installed mysql-server.x86_64 5.1.34-1.el5.remi installed mysqlclient15.x86_64 5.0.67-1.el5.remi installed

アップデイトの実行

# yum --enablerepo=remi update mysql-\*

Loaded plugins: fastestmirror, priorities Loading mirror speeds from cached hostfile * addons: ftp.iij.ad.jp * base: ftp.iij.ad.jp * extras: ftp.iij.ad.jp * remi: iut-info.univ-reims.fr * updates: ftp.iij.ad.jp Setting up Update Process Resolving Dependencies --> Running transaction check ---> Package mysql.x86_64 0:5.1.54-1.el5.remi set to be updated ---> Package mysql-devel.x86_64 0:5.1.54-1.el5.remi set to be updated ---> Package mysql-libs.x86_64 0:5.1.54-1.el5.remi set to be updated ---> Package mysql-server.x86_64 0:5.1.54-1.el5.remi set to be updated --> Finished Dependency Resolution Dependencies Resolved ================================================================================ Package Arch Version Repository Size ================================================================================ Updating: mysql x86_64 5.1.54-1.el5.remi remi 1.1 M mysql-devel x86_64 5.1.54-1.el5.remi remi 121 k mysql-libs x86_64 5.1.54-1.el5.remi remi 1.7 M mysql-server x86_64 5.1.54-1.el5.remi remi 11 M Transaction Summary ================================================================================ Install 0 Package(s) Upgrade 4 Package(s) Total download size: 14 M Is this ok [y/N]: y Downloading Packages: (1/4): mysql-devel-5.1.54-1.el5.remi.x86_64.rpm | 121 kB 00:01 (2/4): mysql-5.1.54-1.el5.remi.x86_64.rpm | 1.1 MB 00:03 (3/4): mysql-libs-5.1.54-1.el5.remi.x86_64.rpm | 1.7 MB 00:05 (4/4): mysql-server-5.1.54-1.el5.remi.x86_64.rpm | 11 MB 00:27 -------------------------------------------------------------------------------- Total 348 kB/s | 14 MB 00:39

Running rpm_check_debug Running Transaction Test Finished Transaction Test Transaction Test Succeeded Running Transaction WARNING : This MySQL RPM is not an official Fedora/Redhat build and it overrides the official one. Don't file bugs on Fedora Project nor Redhat. Use dedicated forums http://forums.famillecollet.com/ Updating : mysql-libs 1/8 Updating : mysql 2/8 Updating : mysql-devel 3/8 Updating : mysql-server 4/8 Cleanup : mysql-devel 5/8 Cleanup : mysql-libs 6/8 Cleanup : mysql-server 7/8 Cleanup : mysql 8/8 Updated: mysql.x86_64 0:5.1.54-1.el5.remi mysql-devel.x86_64 0:5.1.54-1.el5.remi mysql-libs.x86_64 0:5.1.54-1.el5.remi mysql-server.x86_64 0:5.1.54-1.el5.remi Complete!

以上でPHP5.3とMySQL5.1.54-1が使えるようになりました。

apacheとMySQLの再起動。

# /etc/init.d/httpd restart

# /etc/init.d/mysqld restart

PHPのバージョン確認:

# php -v

PHP 5.3.4 (cli) (built: Dec 11 2010 18:28:50) Copyright (c) 1997-2010 The PHP Group Zend Engine v2.3.0, Copyright (c) 1998-2010 Zend Technologies

MySQLのバージョン確認:

# mysql

Welcome to the MySQL monitor. Commands end with ; or \g. Your MySQL connection id is 2 Server version: 5.1.54 MySQL Community Server (GPL) by Remi Copyright (c) 2000, 2010, Oracle and/or its affiliates. All rights reserved. This software comes with ABSOLUTELY NO WARRANTY. This is free software, and you are welcome to modify and redistribute it under the GPL v2 license Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

mysql>

 

△ PHP Suhosin のインストール

オプションとして、PHP言語のCMSによっては、セキュリティ向上のために suhosin パッケージを必要とする場合があるので、 remi レポジトリからインストールします。

# yum install php-suhosin-0.9.32.1-1.el5.remi.x86_64 --enablerepo=remi

Loaded plugins: fastestmirror, priorities Loading mirror speeds from cached hostfile * addons: ftp.iij.ad.jp * base: ftp.iij.ad.jp * extras: ftp.iij.ad.jp * remi: rpms.famillecollet.com * updates: ftp.iij.ad.jp Setting up Install Process Resolving Dependencies --> Running transaction check ---> Package php-suhosin.x86_64 0:0.9.32.1-1.el5.remi set to be updated --> Finished Dependency Resolution Dependencies Resolved ================================================================================ Package Arch Version Repository Size ================================================================================ Installing: php-suhosin x86_64 0.9.32.1-1.el5.remi remi 78 k Transaction Summary ================================================================================ Install 1 Package(s) Upgrade 0 Package(s) Total download size: 78 k Is this ok [y/N]: y Downloading Packages: php-suhosin-0.9.32.1-1.el5.remi.x86_64.rpm | 78 kB 00:01 Running rpm_check_debug Running Transaction Test Finished Transaction Test Transaction Test Succeeded Running Transaction Installing : php-suhosin 1/1 Installed: php-suhosin.x86_64 0:0.9.32.1-1.el5.remi Complete! # php -v PHP 5.3.4 (cli) (built: Dec 11 2010 18:28:50) Copyright (c) 1997-2010 The PHP Group Zend Engine v2.3.0, Copyright (c) 1998-2010 Zend Technologies with Suhosin v0.9.32.1, Copyright (c) 2007-2010, by SektionEins GmbH

※参考までに、Suhosinの開発元サイトには、Gentoo Linux FreeBSD OpenSuSE Madriva Debian などではRPMが用意されているようです。以下のサイトをご覧下さい。 http://www.hardened-php.net/suhosin/download.html

 

PHP-Info

PHP言語でのいろいろな情報

△ phpinfo.phpで表示がでない場合

PHP 5.3.4で phpinfo.php ファイルを表示できないときがあり、その時は、他の簡単な PHPスクリプトを作成し、その中に phpinfo(); を定義して表示が出るようになりました。

例えば、

<?php
 print "テスト1";
 phpinfo();
  ?> 

 

Web Server

Webサーバー関連
Apacheについて

仮想(Virtual)ドメインを使って運用している場合、必要ない仮想ドメインは、ディレクトや設定ファイルをすべて削除もしくは移動させて、apacheを再起動させます。 中途半端な状態で運用していると、内部でエラーがたまってApacheのパフォーマンスに影響する場合もありえるので、必ず、必要ない設定ファイルは削除しましょう。

 

SSLについて

DebianにOpenSSLをインストールする手順 参考サイト ここから

 

アクセスログについて

・PiWik

Debianにアクセスログ(Piwik)をインストールする手順 参考サイト ここから

piwikはオープンソースのWEBサイトアクセス解析ツールです。

http://www.piwikjapan.org/   日本のユーザーグループ

Debianへのインストール

Debianのパッケージではなくソースからダウンロードしてインストールしてみました。

  1. MySQLデータベースでPiWik用のデータベースを作成、接続ユーザーとその権限を設定
  2. Webサーバーからアクセスできるディレクトリ作成、パーミッション設定
  3. そのディレクトリにPiWikソースプログラムをダウンロード
  4. wget https://builds.piwik.org/piwik.zip
  5. ZIPファイルを解凍しApacheでアクセスできるパーミッションの設定
  6. ブラウザからインストール実行

 

オープンソース アクセス記録 PiWiK インストール

以下のワーニングが表示されるので、plugins/Morpheus/icons/submodules を削除します。

オープンソース アクセス記録 PiWiK インストール

インストール環境の確認

オープンソース アクセス記録 PiWiK インストール

データベースの設定、事前にPiWik用のデータベース名、そのユーザーと権限を設定しておきましょう。

オープンソース アクセス記録 PiWiK インストール

データベースのテーブル作成

オープンソース アクセス記録 PiWiK インストール

PiWikの管理画面にログインするユーザー名、パスワード、メールアドレスを登録

オープンソース アクセス記録 PiWiK インストール

アクセス記録をする対象のWebサイトを設定します。 複数のWebサイトを登録管理可能。

オープンソース アクセス記録 PiWiK インストール

PiWilのトラッキングスクリプトについて CMSのモジュール(DrupalのPiwik Web Analyticsなど)は自動的にモジュール側の設定を行なうことでこのスクリプトを追加します。

オープンソース アクセス記録 PiWiK インストール

インストールできました

オープンソース アクセス記録 PiWiK インストール

PiWikをインストールしたURLにアクセスして管理画面にログインします

オープンソース アクセス記録 PiWiK インストール & ログイン

ログイン後のダッシュボード画面

オープンソース アクセス記録 PiWiK インストール & ログイン ダッシュボード

 

 

Nginx

Nginx Webサーバー

概要:

 

Faq

Q: ページにアクセスして、文書ファイルなどのリンクをクリックすると、403エラー「Forbidden」が表示されるので、そのテキストファイルなどを表示させたい場合は。

A: Nginxの設定ファイル /etc/nginx/sites-avaiable/xxxx.conf  に以下のlocation設定を追加する。以下の/sites/default/files/ は オープンソースCMS、Drupal 8の標準ファイルディレクトリの場合です。環境に合わせて調整してください。

location ~ ^/sites/default/files/ {
        allow all;
    }

 

 

 

タグ: 

オープンソースソフトウェア: 

etc

★その他のオープンソースソフトウェア 

office

オフィスソフト

 

ワープロ、表計算、プレゼンテーション、グラフィック作成、データベースソフトなどの事務用ソフトウェア

OpenOffice

LibreOfficeになる前のソフト名

 

 

LibreOffice

OpenOfficeの開発チームが立ち上げた、オフィスソフトです。OpenOfficeやMS Officeとの互換性があり、OpenOfficeの後継として活用できると、期待しております。

 

ダウンロード

JavaのJREを別途ダウンロードしてからLibreOfficeをインストールします。  ここから 

 

使い方

 

  • マウスの右クリックで表示されるメニューを編集したい

コンテキストメニューで設定を追加します。 ツール -> カスタマイズ -> コンテキストメニュー -> メニュー(操作ごとに内容を設定)、セルを選択してマウス右クリックの場合はメニュー「セル」を選択 -> 希望の項目を選択 -> コマンドを追加 -> ONで保存

 

 

 

 

 

 

 

オープンソースソフトウェア: 

オンライン

オンラインシステム

オープンソースのビデオ会議やチャット・コミュニケーションシステムなどの情報です。

 

ビデオ会議

Jitsi Meet (Jitsi)

Jitsi : https://jitsi.org/

Jitsi Meet : https://jitsi.org/jitsi-meet/

Jisi Meet のインストールなどは ここから

Jisti Meet の暗号化について(2020年10月17日現在)

ドイツのドレスデン大学でのJitsiMeetの導入・応用紹介動画

 

 

メッセージング

 

Element(旧名:Riot)

Slack代替えとして有望なオープンソースのメッセージングシステムです。Matrixのクライアント環境として開発されています。

エンドツーエンドの暗号化ができる。

Element: Matrixクライアント https://element.io/

Element(旧名:Riot)のインストール・技術情報: ここから

 

Matrix

Matrix : 分散型コミュニケーション(Decenterlized Communication)サーバーシステム https://matrix.org/

Riot: Matrixクライアント https://about.riot.im/

Matrixのインストール・技術情報: ここから

Riotのインストール・技術情報: ここから

ドイツのドレスデン大学でのJitsiMeetの導入・応用紹介動画

 

 

タグ: 

オープンソースソフトウェア: 

Jitsi Meet

Jitsi Meet

Jitsi Meetはオープンソースのビデオ会議システムJitsiのDebian/Ubuntu用のシステム環境です。

Jitsiは、End to End Scryption (暗号化)されたシステムで、操作が容易です。

 

技術情報

Jitsi Meet Blog : https://jitsi.org/blog/category/jitsi-meet/

Document : https://github.com/jitsi/jitsi-meet/blob/master/doc/README.md

Jitsi Meet Wiki : https://github.com/jitsi/jitsi-meet/wiki

Jitsi Jicofo(Conference Focus / managing media sessions) :  https://github.com/jitsi/jicofo

Prosody (XMPP Communication Server) : https://prosody.im/

 

日本語での資料

https://rohhie.net/an-open-source-web-conferencing-system-jitsi-server-installation/

 

 

インストール

参考にしたサイト 

インストール環境 Debian 10 (上記資料はUbuntuですが、Debian10でも同じ手順でOKでした)

1)事前準備

ドメイン名とそのドメイン名をインストールするサーバーのホスト名(FQDN:fully qualified domain name)と同じに設定する

例えば ホスト名 meet   FQDN は meet.example.com

sudo hostnamectl set-hostname meet.example.com
sudo sed -i 's/^127.0.1.1.*$/127.0.1.1 meet.example.com meet/g' /etc/hosts

確認

hostname
hostname -f

 

2) ファイアウォールの設定

ufwコマンドで設定します。

sudo ufw allow OpenSSH
sudo ufw allow http
sudo ufw allow https
sudo ufw allow in 10000:20000/udp
sudo ufw enable

 

システムの更新とシャットダウンおよび再起動

sudo apt update
sudo apt upgrade -y && sudo shutdown -r now

 

3)OpenJDK JRE8インストール

Jitsi Meet  jitsi-meet_2.0.4548-1 (2020年5月19日)では、jitsi-videobridge2_2.1-197-g38256192-1でJavaはJDK-8を使っているので、openJDK のJRE8 をインストールします。

 

Debian 10 Buster にOpenJDK JRE8 をインストール

参考にしたサイト:  Debian 10にOpenJDK 8をインストール  

https://qiita.com/witchcraze/items/47d44df81f1b152bab8c

https://linuxize.com/post/install-java-on-debian-10/

sudo apt update

sudo apt install apt-transport-https ca-certificates wget dirmngr gnupg software-properties-common

 

wget -qO - https://adoptopenjdk.jfrog.io/adoptopenjdk/api/gpg/key/public | sudo apt-key add -

 

sudo add-apt-repository --yes https://adoptopenjdk.jfrog.io/adoptopenjdk/deb/

 

sudo apt update

sudo apt install adoptopenjdk-8-hotspot

 

java -version

openjdk version "11.0.7" 2020-04-14
OpenJDK Runtime Environment (build 11.0.7+10-post-Debian-3deb10u1)
OpenJDK 64-Bit Server VM (build 11.0.7+10-post-Debian-3deb10u1, mixed mode, sharing)

 

sudo update-alternatives --config java

alternative java (/usr/bin/java を提供) には 2 個の選択肢があります。

  選択肢    パス                                              優先度  状態
------------------------------------------------------------
* 0            /usr/lib/jvm/java-11-openjdk-amd64/bin/java          1111      自動モード
  1            /usr/lib/jvm/adoptopenjdk-8-hotspot-amd64/bin/java   1081      手動モード
  2            /usr/lib/jvm/java-11-openjdk-amd64/bin/java          1111      手動モード

現在の選択 [*] を保持するには <Enter>、さもなければ選択肢の番号のキーを押してください: 1
update-alternatives: /usr/bin/java (java) を提供するためにマニュアルモードで /usr/lib/jvm/adoptopenjdk-8-hotspot-amd64/bin/java を使います

 

java -version

openjdk version "1.8.0_252"
OpenJDK Runtime Environment (AdoptOpenJDK)(build 1.8.0_252-b09)
OpenJDK 64-Bit Server VM (AdoptOpenJDK)(build 25.252-b09, mixed mode)

 

JAVA_HOMEの設定

echo "JAVA_HOME=$(readlink -f /usr/bin/java | sed "s:bin/java::")" | sudo tee -a /etc/profile
source /etc/profile

 

4)Nginxのインストール

sudo apt install -y nginx
sudo systemctl start nginx.service
sudo systemctl enable nginx.service

 

5)Jitsi Meet インストール

レポジトリの設定

cd
wget -qO - https://download.jitsi.org/jitsi-key.gpg.key | sudo apt-key add -
sudo sh -c "echo 'deb https://download.jitsi.org stable/' > /etc/apt/sources.list.d/jitsi-stable.list"
sudo apt update -y

Jitsi Meetのインストール

sudo apt install -y jitsi-meet

インストールの途中でFQDN(meet.example.com)を入力します。

SSL証明書の設定で、デフォルトの「Generate a new self-signed certificate (You will later get a chance to obtain a Let's Encrypt certificate) 」で実行

インストール終了後に、Let's Encrypt SSL証明書を適用させます。

sudo /usr/share/jitsi-meet/scripts/install-letsencrypt-cert.sh

途中でLet's Encrypt からの連絡先メールアドレス(自分のアドレスで)を入力

 

6)確認

https://meet.example.com で動作確認

 

7)会議作成の制限

インストール完了した状態は、URLを訪問した人は、だれでも会議が作成できるので、セキュリティ対策として作成者とそのパスワードで制限します。

詳細はここから: https://www.digitalocean.com/community/tutorials/how-to-install-jitsi-me... 

※ authentication = "internal_plain" は authentication = "internal_hashed" に変更します。ホストがパスワードを作れるようにするため。

 

上記の「Step 5 — Locking Conference Creation」を参考にしてください。

sudo nano /etc/prosody/conf.avail/meet.example.com.cfg.lua

編集 /etc/prosody/conf.avail/meet.example.com.cfg.lua

...
        authentication = "anonymous"
...

次のように

...
        authentication = "internal_hashed"
...

※このauthenticationについてはprosodyのマニュアル(https://prosody.im/doc/authentication)に説明がありますが、Jitsi Meet上での動作についてはまだ不明ですが。

同じファイルの最後に以下を追加

...
VirtualHost "guest.meet.example.com"
    authentication = "anonymous"
    c2s_require_encryption = false

 

別のファイルを編集 Open another configuration file at /etc/jitsi/meet/meet.example.com-config.js

sudo nano /etc/jitsi/meet/meet.example.com-config.js

...
        // anonymousdomain: 'guest.example.com',
...

変更

...
        anonymousdomain: 'guest.meet.example.com',
...

 

次に編集するファイル /etc/jitsi/jicofo/sip-communicator.properties

sudo nano /etc/jitsi/jicofo/sip-communicator.properties

以下の行を2行目に追加します。

org.jitsi.jicofo.auth.URL=XMPP:meet.example.com

 

ユーザー名とパスワードを追加

sudo prosodyctl register user meet.example.com password

※もしユーザー名を削除する場合は sudo prosodyctl deluser ユーザー名@meet.example.com

 

Jitsi Meet 再起動

sudo systemctl restart prosody.service
sudo systemctl restart jicofo.service
sudo systemctl restart jitsi-videobridge2.service

上記の設定は、同様に、次のサイト https://jitsi.github.io/handbook/docs/devops-guide/secure-domain も参考にします。

 

ランディングページ(トップページ)を非表示にする場合

/etc/jitsi/meet/meet.example.com-config.js の enableWelcomePage: true を false に設定する

// Whether to use a welcome page or not. In case it's false a random room$
// will be joined when no room is specified.$
     enableWelcomePage: true,$   <-----  false 

 

 

Prosodyctlの概要

 

sudo prosodyctl --help

prosodyctl - Manage a Prosody server

Usage: /usr/bin/prosodyctl COMMAND [OPTIONS]

Where COMMAND may be one of:

  • adduser JID Create the specified user account in Prosody
  • passwd JID Set the password for the specified user account in Prosody
  • deluser JID Permanently remove the specified user account from Prosody
  • start Start Prosody
  • stop Stop a running Prosody server
  • restart Restart a running Prosody server
  • reload Reload Prosody's configuration and re-open log files
  • about Show information about this Prosody installation
  • check Perform basic checks on your Prosody installation
  • cert config|request|generate|key|import Helpers for generating X.509 certificates and keys.
  • cert config HOSTNAME [HOSTNAME+] Builds a certificate config file covering the supplied hostname(s)
  • cert key HOSTNAME <bits>  Generates a RSA key named HOSTNAME.key
  • Prompts for a key size if none given
  • cert request HOSTNAME [HOSTNAME+] Generates a certificate request for the supplied hostname(s)
  • cert generate HOSTNAME [HOSTNAME+] Generates a self-signed certificate for the current hostname(s)
  • cert import [HOSTNAME+] /path/to/certs [/other/paths/]+ Copies certificates to /var/lib/prosody
  • status Reports the running status of Prosody

例えば、一度登録したユーザーのパスワードを変更する場合は、prosodyctl passwd ユーザー名@JID(URL名) を実行して変更するパスワードを入力します。

 

Prosodyの設定

Prosodyは認証機能をサポートしています。参考にしたページ: https://prosody.im/doc/authentication

 providerの設定で変更可能

 例えば、 authentication = "internal_hashed" -- Default

  • internal_plain Plaintext passwords stored using built-in storage
  • internal_hashed  Hashed passwords stored using built-in storage
  • cyrus  Cyrus SASL integration (LDAP, PAM, …)
  • anonymous  SASL 'ANONYMOUS' mechanism, random username, requires no credentials

Hashed or Plain ?  https://prosody.im/doc/plain_or_hashed

 

debian 10 busterにJitsiMeetインストール

以下のサイトを参考にインストール

 https://nerdonthestreet.com/wiki?find=Host+a+Jitsi+Meet+Server

 

FAQ

Q: サイト訪問者がroom作成ページにアクセスするのをブロックするには

出典:2018年11月 https://community.jitsi.org/t/how-to-request-authentication-before-the-meeting-room-is-initialized/15625/5 

 A: jicofo config で設定して、そのコンポーネント(jicofo)を再スタート sudo systemctl restart jicofo.service

 

Q: roomから出て、誰かがモデレーターから外れると自動でモデレーター権限を付与できない、という設定は可能でしょうか?

出典:2017年5月 https://community.jitsi.org/t/jitsi-users-users-to-login-before-joining-a-room-prosody/12508/5

 A: この設定は現在サポートされていません。モデレーターがroomから出ると、ほかの一人がモデレーターになります。また、prosodyモジュールには、すべての参加者へモデレーター権限を与える、オプション設定があります。たぶん、そのオプションをOFFにすると、できるかもしれません。

 

Q: モデレーターの権限について知りたい?

出典: https://community.jitsi.org/t/how-to-what-is-a-meeting-moderator/73139

 A: モデレーターの権限

  • 会議室のパスワードを追加できる
  • モデレーター以外の人にモデレーターの役割を付与する
  • 非モデレーターをキックできる(muc_owner_allow_kick.patchを適用した場合のみ) 
  • 参加者をミュートさせる
  • 全員にモデレーターのビデオ画面を見てもらう機能(全員がモデレーターをフォローしている)
  • 参加者をミュートで参加させる機能(全員がミュートで開始)
  • ビデオなしで参加者を参加させる機能(誰もがビデオなしで始めます)
  • ロビー(待機室)を使う・使わない設定
  • 参加/ノック通知リクエストを承認する機能(ロビーが有効になっている場合)
  • e2e暗号化を有効にする機能、現在ベータ版です(利用可能な場合)

 A: モデレーターのデフォルトインストール時の設定内容

  • 最初に参加する参加者はモデレーターです
  • モデレーターが離れると、新しいモデレーターが自動的に選択されます
  • 選択はサーバー側で行われます(Prosody&Jicofoによる)

A: モデレーターのデフォルトインストール(Secure Domain セットアップで)時の設定内容

  • 認証されたすべてのユーザーはモデレーターです
  • ゲストユーザーはモデレーターではありません、会議室を作成することもできません

A: もし、mod_muc_allowners.lua を有効した場合

  • 誰もがモデレーターです
  • これは https://meet.jit.si のデフォルトの動作です

 

Q: JitsiMeetの録画をインストールしたい

 A: この設定は、Debian10のJitsiMeetサーバーに、録画機能(Jibri)をインストールする手順です。一般的には、JitsiMeetのサーバーとJibriサーバーは別のサーバーにインストールするようですが。 

この設定で、Youtubeのライブ配信もできました。

また、XMPPで使うTCPポート 5222, 5223, 5347 をオープンにします。Ubuntu 16.04へのJibriインストールを参考に

上記の設定ではDebia10のJavaがデフォルトは11なのでJitsiMeetのサーバーのインストールではそのままでOKです。Debian10のサーバーにJitsiMeetサーバーをインストールした際のJitsiMeetのソースにJava8関連が入っております。ただし、jibriをインストールする場合は、Javaの8をインストールして、そのJava8を実行させるときに、Java8への絶対パスで実行させる設定を行います。つまり、デフォルトではJava11ですが、Jibriの時だけJava8を使う環境設定になります。

Debian10にJava8をインストール:

 

Q: RMTPサーバーでストリーミング配信させたい

 A: Jibriは録画とストリーミングができ、デフォルトではYoutubeライブ配信でストリーミングする設定になっています。Jibriで、Youtubeではなく、RMTPサーバーでストリーミング配信させる場合は、以下の記事を参考に設定します。

参考資料: Easy way to create a Jitsi cluster based on Debian Buster

 

Q: 接続ユーザー数とサーバースペックについて

 A: JitsiMeetに接続するユーザー数とサーバースペックは、クラウド環境により異なりますが、さくらのクラウド(石狩第1ゾーン、2021年1月21日)の場合

  • 10名で接続 サーバーは4コア、メモリは3GBで、#CPUは70%-80% 程度です。 接続状態は良好
  • 20名で接続 サーバーは2コア、メモリは3GBで、#CPUは120%-130% 程度です。 接続状態は時々接続エラーやカメラ画面が黒くなり、運用は困難
  • 20名の接続 サーバーは8コア、メモリは5GBで接続状態は良好でした。 同じ石狩第1ゾーンの「コア占有プラン」の6コア/32GBメモリでは限界でした。
  • 30-40名の接続 サーバーは10コア、メモリは6GBで可能だと推測します。 

推測ですが、ユーザー数が増えた場合は、CPUコアを増やしたほうが良いと思います。ユーザー接続があると、スレッドを作るようなので、コア数を多くすることで安定した接続が維持できるようです。

さくらのクラウドでは、スレッドを多く使うので、コア数が多いほうがユーザー増加に対応できます。「コア占有プラン」では、2021年2月2日の時点でテスト、それほど、差がありませんでした。

 

Q: カメラやマイクのないPC(デスクトップや古いノートPC)の場合

Google Chromeでアクセスすると、参加者の映像が表示しない、参加者名だけの黒い画面しか表示しない。どうしたらカメラ映像が表示されるか。

 A: PCにマイクやカメラが接続されていない場合は、自動的にカメラ映像もOFFとなり、黒くなります。もし、マイクやカメラがないPCで会議参加者のカメラ表示などを見たい場合は、GoogleChrome設定でカメラや音声を有効にすることで他の参加者の画像が表示されます。

 

Q: Google Analyticsの設定について

 A: Google Analyticsの設定は、以下のページを参考にしました。 ただし、Create a analytics-ga.min.js file in / etc / jitsi / meet / lib folder はミスがあり、/ etc / jitsi / meet / libs  が正しいディレクトリ名です。

 

ファイル名 analytics-ga.min.js ファイルを次のディレクトリに作成 /etc/jitsi/meet/libs
次のページから参照 : https://developers.google.com/analytics/devguides/collection/analyticsjs/
以下のスクリプトを analytics-ga.min.js ファイルに記載します。AnalyticsのIDも記載し保存します。

<!-- Google Analytics -->
<script>
(function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
(i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
})(window,document,'script','https://www.google-analytics.com/analytics.js','ga');

ga('create', 'UA-XXXXX-Y', 'auto');
ga('send', 'pageview');
</script>
<!-- End Google Analytics -->


/etc/jitsi/meet にある meet.ドメイン名-config.js ファイルに記載されている以下の箇所を設定します。

scriptURLs: [
“libs/analytics-ga.min.js”, // google-analytics
// “https://example.com/my-custom-analytics.js 5”
],

​ApacheおよびNginxを再起動

 

 

タグ: 

オープンソースソフトウェア: 

Matrix

Matrix

Matrix通信プロトコルは、ユーザーがアプリに関係なく互いに通信できるようにすることを目的としています。分散型システムマトリックスは、HTTP標準に基づいており、個々のクライアントとサーバー間のインターフェイスの詳細です。

 

技術情報

2020年

Matrix: Das steckt hinter dem neuen Messenger von Bundeswehr und Behörden

 

2019年

Whatsapp-Alternative – Frankreich wandert in die Matrix (フランス政府でWhatsappの代替えとして採用)

 

 

 

インストール

 

 

タグ: 

オープンソースソフトウェア: 

Riot

Riot

Matrix通信プロトコルで稼働するメッセージングシステムで、Slackの代替えになります。

Riotの概要: https://about.riot.im/

 

技術情報

2020年

 

 

2019年

 

 

2016年

Open Source und verschlüsselt: Das steckt hinter dem Slack-Rivalen Riot(オープンソースで暗号化....)

 

インストール

 

 

タグ: 

オープンソースソフトウェア: 

システム管理

システム管理に便利なオープンソースソフトウェア

システムのアドミニストレーションで必要となるさまざまなソフトに関する情報です。

Webmin

Webminはシステムのほとんどの機能をルート権限で設定することが多いので、アクセスには気をつけましょう。

Webmin DNSサーバの設定画面必要になる時だけ、アクセスできるように、設定ファイル /etc/webmin/miniserve.conf の allow = 127,0,0,1 192.168.0.0/24 を実行したり、コメントにして実行できなくすることが、一つのセキュリティ対策になります。

インストール手順

CentOSの場合  Webminサイトを参照

Perlモジュールをインストール

# yum -y install perl-Net-SSLeay

最新版をダウンロード

# wget http://download.webmin.com/download/yum/webmin-1.630-1.noarch.rpm

インストール実行

# rpm -Uvh webmin-1.630-1.noarch.rpm

設定ファイルを編集

# vim  /etc/webmin/miniserv.conf

allow=127.0.01 192.168.0.1/24  を追加します

Webminを再起動

# /etc/rc.d/init.d/webmin restart

Webブラウザでアクセス   https://localhost:10000  し日本語環境へ変換

 

Debianの場合  Webminサイトを参照

 

Webminの技術情報(英語) ここから

 

 

タグ: 

ファイル管理

ファイル共有やファイル管理

ファイル共有はオープンソースソフトウェアとして実績のあるSambaを説明します。Sambaの語源は、マイクロソフトのネットワークファイルシステムSMB(Server Message Block)に、2 つの母音を入れて作られたと言われています。

Sambaサーバについて

 

題名: Sambaを使ったサーバの構築(Sambaの基礎からPDC機能まで)

基本の設定や使い方について、参考になります。 ここから

 

よく使うコマンド  環境 Samba 3.6.9-151-el6  CentOS 6.4

testparm

testparm /etc/samba/smb.conf  smb.confファイルを指定して設定を確認

pdbedit

pdbedit -Lw  現在 Sambaに登録されているユーザーをsmbpaswwd形式で表示

pdbedit -a ユーザー名  LinuxユーザーをSambaへ登録

コンピュータアカウント(コンピュータ名)の追加   pdbedit -a -m コンピュータ名

パスワードのバッチ入力  pdbedit -t

ユーザの削除  pdbedit -x ユーザ名

smbclient

smbclient -L Sambaサーバー名  Linuxクライアントから接続、IPアドレスでも可能

smbstatus

smbstatus -d   Sambaデーモンの動作状態を調べて表示

findsmb

findsmb  サブネットに存在するSambaサーバーを一覧表示

nmblookup

指定したコンピュータ名でIPアドレスの取得
nmblookup debian1      <--- マシン名 debian1
querying debian1 on 192.168.0.255
192.168.0.8 debian1<00>

・WINSサーバへの問合せ
nmblookup -R -U 192.168.0.8 WORKGROUP   <----- WINSサーバとワークグループ名を指定して問合せ
querying WORKGROUP on 192.168.0.8
0.0.0.0 WORKGROUP<00>

・登録されているNetBIOS名で確認する場合
nmblookup -A 192.168.0.2
Looking up status of 192.168.0.2
        MACBOOKPRO13    <03> -         B <ACTIVE>
        MACBOOKPRO13    <20> -         B <ACTIVE>
        MACBOOKPRO13    <00> -         B <ACTIVE>   <---- コンピュータ名
        ..__MSBROWSE__. <01> - <GROUP> B <ACTIVE>   <---  マスタブラウザ
        WORKGROUP       <1d> -         B <ACTIVE>
        WORKGROUP       <1e> - <GROUP> B <ACTIVE>
        WORKGROUP       <00> - <GROUP> B <ACTIVE>       
   MAC Address = 00-00-00-00-00-00

・名前解決時に -S オプションを使う場合
nmblookup -S macbookpro13
querying macbookpro13 on 192.168.0.255
192.168.0.2 macbookpro13<00>
Looking up status of 192.168.0.2
        MACBOOKPRO13    <03> -         B <ACTIVE>
        MACBOOKPRO13    <20> -         B <ACTIVE>
        MACBOOKPRO13    <00> -         B <ACTIVE>
        ..__MSBROWSE__. <01> - <GROUP> B <ACTIVE>
        WORKGROUP       <1d> -         B <ACTIVE>
        WORKGROUP       <1e> - <GROUP> B <ACTIVE>
        WORKGROUP       <00> - <GROUP> B <ACTIVE
MAC Address = 00-00-00-00-00-00

・マスタブラウザを確認 ワークグループ名を指定
nmblookup -B 192.168.0.255 -M WORKGROUP
querying WORKGROUP on 192.168.0.255
192.168.0.8 WORKGROUP<1d>

・マスタブラウザを確認 指定したIPサブネット中のマスタブラウザを検索
nmblookup -B 192.168.0.255 -M -
querying __MSBROWSE__ on 192.168.0.255
192.168.0.8 __MSBROWSE__<01>

net lookup  

・nmblookupコマンドと同様にNetBIOS名の名前解決を実行
net lookup host macbookpro13
192.168.0.2
・ワークグループのマスタブラウザを検索
net lookup master workgroup
192.168.0.8

net cache

・NetBIOSネームキャッシュのエントリを表示
net cache list
Key: NBT/DEBIAN1#20      Timeout: 10:48:56       Value: 192.168.0.8:0  (expired)
Key: NBT/VM2CENTOS6#20   Timeout: 10:48:29       Value: 192.168.0.161:0  (expired)
Key: NBT/*#00.1D.192.168.0.8     Timeout: Tue Apr 30 18:15:13 2013       Value: WORKGROUP  (expired)

・特定のエントリを調べる場合
net cache search 'NBT/VM2CENTOS6*'
Key: NBT/VM2CENTOS6#20   Timeout: 10:48:29       Value: 192.168.0.161:0  (expired)

 

よく使うコマンド  環境 Windowsにて

 

 

FAQ

Q: CentOS 6 などでSambaをインストールするときに設定トラブルが起きる場合

A: CentOSではSELinuxが稼働しているので、OFFにするか、SELInuxでポリシーを設定します。OFFにする場合は、/etc/sysconfig/selinux  というファイルを編集、 SELINUX=disabled に設定し再起動します。

Q:Linux側から共有ディレクトリやコンピュータが見えない、Windowsからは見える場合

A:もしかすると、SELinuxを無効にするとこの現象がおこる、ということかも。調査中。

Q:smb.conf の設定サンプル

A:サンプルとして  CentOS 6.4  Samba  smbpasswdでユーザー追加

[global]

    unix charset = UTF-8
    dos charset = CP932
    
    workgroup = WORKGROUP
    server string = Samba Server Version %v
    
    log file = /var/log/samba/log.%m
    max log size = 50
    
    hosts allow = 127. 192.168.0.
    
    security = user
    passdb backend = tdbsam

[homes]
    comment = Home Directories
    browseable = no
    writable = yes
;    valid users = %S
;    valid users = MYDOMAIN\%S
    
[printers]
    comment = All Printers
    path = /var/spool/samba
    browseable = no
    guest ok = no
    writable = no
    printable = yes
    
 

[share1]   

    comment = Public Stuff
    path = /home/samba
    public = yes
    writable = yes
    printable = no
    write list = +staff

[kyoyou2]

    comment = Public Stuff
    path = /home/share
    public = yes
    writable = yes
    printable = no
    write list = +staff

 

 

 

 

オープンソースソフトウェア: 

Install

Sambaのインストール、設定について

Sambaではいろいろな使い方に合わせて設定が可能です。代表的な環境でのサンプルとして、メモをまとめました。

Windows のワークグループでファイルサーバ

Sambaインストール

設定ファイルsmb.confの作成、起動

ユーザ作成(LinuxユーザとSambaユーザ) 管理者用 administrator など ユーザ用 user01 など

各ユーザパスワード作成(LinuxユーザとSambaユーザ)

 

スタンドアロンのWindowsのドメインコントローラ(WindowsNTドメイン互換のSambaドメイン)として

備考: ドメインの名称と種類 Windowsドメイン(NTドメイン、ADドメイン) Sambaドメイン

Sambaインストール

スタンドアロンのドメインコントローラ(PDC)としての設定ファイルsmb.confの作成、起動

ユーザ作成(LinuxユーザとSambaユーザ)

ユーザパスワード作成(LinuxユーザとSambaユーザ)

 

 

OpenLDAPと連携したスタンドアロンのWindowsドメインコントローラ

 

タグ: 

オープンソースソフトウェア: 

Sambaの話題

Sambaに関する話題

 

参考になるプレゼン資料

2015年2月28日(土) OSC東京にて 「いまさら聞けないWindows Server」 >> ここから

 

タグ: 

オープンソースソフトウェア: 

User and Group

ユーザとグループについて

Sambaでの、UNIXのユーザ・グループとWindowsのユーザ・グループを管理する機能の概要について。

 

Sambaのユーザ概念

SambaではSambaユーザという独自のユーザを作成し、そのパスワードも設定します。 さらに、SambaサーバがUNIX系(Linuxも含む)の場合はUNIX(Linux)のログインユーザ名とパスワードが必要になります。

つまり、Sambaユーザには必ず対応するUNIX(Linux)ユーザが存在し、ログイン認証後にUNIX(Linux)ユーザとの対応付けが行われます。

また、コンピュータ名も必要となりますので、SambaユーザとUNIX(Linux)ユーザに登録します。 自動登録などの仕組みは別途必要です。

UNIX(Linux)ユーザの作成

 useraddコマンドなどで、Windowsユーザ名と同じ名前をUNIX(Linux)ユーザにパスワード付きで登録

 useraddコマンドなどで、Windowsのコンピュータ名(名前の最後に$を付ける)と同じ名前をUNIX(Linux)ユーザにパスワード付き登録

Sambaユーザの作成

 ユーザ名とマシン名(最後に$を付ける)ともにpdbeditコマンドもしくはsmbpasswdコマンドを使います。

 追加 pbdedit -a <Sambaユーザ名>  削除 pbdedit -x <Sambaユーザ名>  表示 pbdedit -Lw

 

Sambaグループの作成、修正、削除、参照

Sambaユーザと同じようにUNIX(Linux)グループに対応するSambaグループを作成します。SambaグループはWindowsサーバに存在するローカルグループとして機能します。一般的に、マイクロソフトのWindowsドメインではない環境(ワークグループでのネットワーク運用)では、Sambaグループと言います。

Sambaグループの作成(既存UNIXグループに対応するローカルグループを作成する場合)

 net groupmap add unixgroup=UNIXグループ名 type=local ntgroup=Sambaグループ名 [ comment="<コメント文字>"]

Sambagグループの修正

 net groupmap modify unixgroup=UNIXグループ名 type=local ntgroup=Sambaグループ名 [ comment="<コメント文字>"]

Sambaグループの削除

 net groupmap delete ntgroup=<Sambaグループ名>

Sambaグループの参照

 net groupmap list

Sambaグループの作成(ローカルグループに対応するUNIXグループの定義をWinbind内で保持する場合)

 net sam createlocalgroup  <ローカルグループ名=UNIXグループ名>

Sambaユーザ、グループの参照(ローカルグループに対応するUNIXグループの定義をWinbind内で保持する場合)

 net sam list groups

 net sam list users

グループ名の指定

smb.conf にて valid users = @group1 +groiup2  という表現 @、+ でグループ名を指定

 

Sambaでドメインを構築する場合

グローバルグループとローカルグループ

グローバルグループの初期設定(NTドメインの標準グローバルグループを作成)

 groupadd domadmin  groupadd domuser  gtoupadd domguest

 net groupmap add rid=512 ntgroup="Domain Admin" unixgroup=domadmin type=domain

 net groupmap add rid=513 ntgroup="Domain Users" unixgroup=domuser type=domain

 net groupmap add rid=514 ntgroup="Domain Guests" unixgroup=domguest type=domain

ユーザの権利  (重要な SeAddUsersPrivilege と SeMachineAccountPrivilege を設定)

 net sam rights grant <Sambaユーザ / グループ > <ユーザの権利> -U <管理ユーザ>

 net sam rights grant administrator SeMachineAccountPrivilege

 net sam rights grant administrator SeTakeOwnershipPrivilege

 net sam rights grant administrator SeBackupPrivilege

 net sam rights grant administrator SeRestorePrivilege

 net sam rights grant administrator SeRemoteShutdownPrivilege

 net sam rights grant administrator SePrintOperatorPrivilege

 net sam rights grant administrator SeAddUsersPrivilege

 net sam rights grant administrator SeDiskOperatorPrivilege

 

 

Winbindについて

WinbindはWindowsドメインに参加しているSambaサーバ上で、Windowsドメインのユーザ情報に基づいてUNIX(Linux)ユーザの情報を自動的に生成し、NSS(Name Servcie Switch)機能を経由してUNIX(Linux)ユーザの情報を提供するプログラムです。

Winbindを実行させるにはNSS(Name Server Switch)機構が必要となり、サーバのプラットフォームごとに設定方法が異なります。

CentOS5、CentOS6の場合 次のコマンド実行で自動設定されます。  authconfig --enablewinbind --update

Winbindの起動  service winbind restart

Winbindの動作確認  wbinfo -t  wbinfo -u  wbinfo -g

 

PAMによるSamba以外のプログラムとの認証統合

pam_winbind のインストールと設定は、CentOSの場合  authconfig --enablewinbindauth --update

無効にする場合は authconfig --disablewinbindauth

動作検証は、WindowsドメインのユーザでSSHでSambaサーバへログインします。 ssh -l Windowsユーザ Sambaサーバ

 

タグ: 

オープンソースソフトウェア: 

サンプル事例インストール

Sambaのインストールサンプル事例

Sambaにはさまざま機能があり、設定方法も複雑な場合があります。単純なサンプル事例で基本をマスターして、さまざま応用にチャレンジしましょう。

共通項目(追加する情報として)

 Linuxユーザ administrator (グループも作成される)  ユーザ名 samba01(グループも作成される)  マシン名 samba-pc1

 Windowsマシン名 samba-pc1  Windowsユーザ samba01

 

ファイル共有サーバの場合

 

 

コンピュータアカウントとLinuxユーザを手動で作成する場合

useradd -s /dev/null -d /dev/null マシン名$

pebedit -a -m マシン名

Sambaグループ(ローカルグループ)の作成

net groupmap add unixgroup=UNIXグループ名 type=local ntgroup=<Sambaグループ名>

 

ドメインコントローラ(PDC)として運用する場合

 

 

グローバルグループの初期設定

groupadd domadmin

groupadd domuser

groupadd domguest

net groupmap add rid=512 ntgroup="Domain Admins" unixgroup=domadmin type=domain

net groupmap add rid=513 ntgroup="Domain Users" unixgroup=domuser type=domain

net groupmap add rid=514 ntgroup="Domain Guests" unixgroup=domguest type=domain

ユーザ権利の設定

net sam rights grant <Sambaユーザ/グループ> <ユーザ権利> -U <管理ユーザ>      ※重要なのは SeMachineAccountPrivilege  SeAddUsersPrivilege  です

net sam rights grant 'Sambaユーザ¥グループ' SeMachineAccountPrivilege -U root

net sam rights grant 'Sambaユーザ¥グループ' SeTakeOwnershipPrivilege -U root

net sam rights grant 'Sambaユーザ¥グループ' SeBackupPrivilege -U root

net sam rights grant 'Sambaユーザ¥グループ' SeRestorePrivilege -U root

net sam rights grant 'Sambaユーザ¥グループ' SeRemoteShutdownPrivilege -U root

net sam rights grant 'Sambaユーザ¥グループ' SePrintOperatorPrivilege -U root

net sam rights grant 'Sambaユーザ¥グループ' SeAddUsersPrivilege -U root

net sam rights grant 'Sambaユーザ¥グループ' SeDiskOperatorPrivilege -U root

ユーザ権利に関する現在の状況を一覧

net sam rights list SeAddUsersPrivilege -U ""%""

ドメインの信頼関係

WondowsドメインとSambaドメインを信頼する

ドメインコントローラとOpenLDAPによる連携

 

 

タグ: 

オープンソースソフトウェア: 

ユーザ管理

LDAP関連の話題

LDAP(Lightweight Directory Access Protocol)はRFC1777で定義されているインターネット標準のプロトコルです。TCP/IPでのディレクトリサービスを提供するためのプロトコルです。

間違えやすいのは、ディレクトリとは、コンピュータのディレクトリ、フォルダーではなく、英語の人名簿、住所録などの意味になります。

OpenLDAPについて

 

 

 

FAQ

idap_buind: Invalid credentials (49) のエラーが出る場合

 # ldapadd -x -D "cn=Manager,dc=my-company,dc=com" -W -f ./base.ldif
 Enter LDAP Password:
 ldap_bind: Invalid credentials (49)

このエラーはさまざま要因で起こります。 例えば、slapd.conf ファイルの設定が間違っている場合などは、以下のテストコマンドで設定内容を確認します。

 # slaptest -u -d 64 -f ./slapd.conf

 

また、パスワード設定が合っていない場合もあります。

 

良く使うコマンド

スキーマ設定のテスト

slaptest [-v] [-d debuglevel] [-f configfile] [-F configdir] [-o <name>[=<value>]] [-n databasenumber] [-u]

例えば # slaptest
config file testing succeeded

 

データのバックアップ

環境 : CentOS 6.4  OpelLDAP  2.4.23-32.el6_4    

注意 : LDAPのデータをバックアップおよびリストアする場合は必ずLDAPサーバプロセス slapd を停止します。

1)データベースのディレクトリをバックアップ、リストアする場合  ただし、リストアしたデータはバイナリーデータなので、起動時にパーミッションなどのエラーや機種が違うとエラーが起こります。注意が必要です。お薦めはLDIF形式が安全です。

LDAPのデータは /etc/openldap/slapd.conf で指定した directory   /var/lib/ldap   に保存されます。

バックアップ tar形式で

cd /var/lib  tar cvzf ldap-data.tar.gz ./ldap

リストア

cd /var/lib  tar xvzf ldap-data.tar.gz

2) LDIF形式でバックアップ、リストアする場合

 

 

参考情報 : 次のサイト もしもに備えるバックアップ、リストア

GUIで管理できる便利なツール(Samba対応)

LAM (Ldap Account Manager)  Webブラウザで管理できる  開発元のサイト

GOsa2 LDAPデータベースでアカウントやシステムを管理できるフレームワーク 開発元のサイト

Webmin  Linuxのシステム管理ツールで、LDAP、SAMBAもサポート

LDAP Admin WindowsベースのLDAP管理ツール SAMABも対応

Apache Directory Studio Apache FoundationのLDAPプロジェクトとして開発されている  開発元のサイト

 

 

オープンソースソフトウェア: 

LDAP Account Manager

LAM(Ldap Account Manager)

OpenLDAPはCUIべーづで初心者には大変わかりにくい、覚えるまで時間がかかることが多い。  開発元のサイト

そこで、OpenLDAPをGUIで管理できるオープンソースソフトウェアのツールLAM(Ldap Account Manager)を使うと便利です。

 

インストール

環境: CentOS 6.4 

必要なパッケージをインスト-ルします  httpd   php   php-ldap   php-mhash(php 5.3 ではサポートされていない可能性がある)

ダウンロード  sourceforge サイトから、最新のバージョンに合わせます

# wget "http://sourceforge.net/projects/lam/files/LAM/4.2.1/ldap-account-manager-4.2.1-0.fedora.1.noarch.rpm/download?use_mirror=jaist&download="

RPMインストール

# rpm -ivh ldap-account-manager-4.2.1-0.fedora.1.noarch.rpm

# mkdir -p /var/www/html/lam/config

# cd /var/www/html/lam/config

# cp -ar /var/lib/ldap-account-manager/config/config.cfg_sample ./config.cfg

# cp -ar /var/lib/ldap-account-manager/config/lam.conf_sample ./lam.conf

lan.conf の編集  下記の内容を運用環境に合わせて調整します

serverURL: ldap://localhost:389

admins: cn=Manager,dc=my-domain,dc=com

treesuffix: dc=yourdomain,dc=org

types: suffix_user: ou=People,dc=my-domain,dc=com

types: suffix_group: ou=group,dc=my-domain,dc=com

types: suffix_host: ou=machines,dc=my-domain,dc=com

types: suffix_smbDomain: dc=my-domain,dc=com

ブラウザでアクセスし、確認します  ://xxxxxx/lam/

 

 

タグ: 

オープンソースソフトウェア: 

GOsa2

LDAPとSambaを管理できるGOsaプロジェクト

 

開発元のサイト >> ここから  GOsaプロジェクト >> ここから

 

 

 

オープンソースソフトウェア: