Tag centos7を表示しています。
2020.8.7 金
phpのモジュールでssh2が入っていればphpでssh接続できます。 $ php -m | grep ssh ssh2 入っていない場合はインストールしないと駄目です。これの続き # yum -y install --enablerepo=remi,remi-php73 php-pecl-ssh2 接続方法は、パスワードの場合はこんな感じ。 $connection = ssh2_connect("192.168.xxx.xxx", "22"); ssh2_auth_password($connection,"username", "xxxxxxxxx"); $sftp = ssh2_sftp($connection); $dh = opendir("ssh2.sftp://$sftp/va...
2020.3.4 水
KVMのイメージなどからVMインスタンスを立ち上げた際にeth1やeth2に割り振られてしまうときがあります。イメージが元々あったデータセンターでのNICが残ってしまっていて、新しいNICに新しいVMインスタンスが割り当てられてしまうようです。ip aで見てみてると何故かeth2に割り当てられている。 $ ip a 1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00 inet 127.0.0.1/8 scope host lo inet 192.168.60.20/32 brd 192.16...
2020.3.1 日
GCPのVMインスタンスは恒久的に25番ポートの利用ができない上に自身のVMで「注: ポート 25 は常にブロックされており、G Suite を使用した SMTP リレーを介したとしても利用できません。」となっております。AWSは申請制度でユーザーの審査が通れば25ポートを使うことができますがGCPは無理っぽい。 インスタンスからのメールの送信 じゃ、どうすればいいかというと、外部のSMTPサーバーにサブミッションポート587で送信を委譲するかたちにしないといけないということで結構面倒です。 ここではGmailアカウントでSMTPサーバーを使えるように設定してから、postfixの設定したVMインスタンスでGmailのSMTPを使って送信できるように設定します。 GoogleアカウントでSM...
2020.3.1 日
まずそもそもtcpdumpのコマンドがインストールされていないことが多いので、使えない場合はインストールから。 # which tcpdump /usr/bin/which: no tcpdump in (/sbin:/bin:/usr/sbin:/usr/bin) yum -y install tcpdump インストールできたら、とりあえず、 tcpdump とやってみます。目まぐるしいアクセスでバーっとログが出てくるんですが、これがtcpの通信をdumpしている状態です。この状態は量が多すぎて何もわからないので、ある程度フィルタリングしたりして使うのが普通です。 - インターフェイスを選ぶ - ホストを限定する ### インターフェイスを選ぶ `ip a`などでネットワークのインターフ...
2020.2.13 木
ログレベルを3以上にしていると、大量にログが出るのでローテートしてないとダメ。 /var/log/samba/log.%m すごい量になってる。 /etc/smb.conf (/usr/local/samba/etc/smb.conf) とかあたりにconfigファイルがあるので、それを修正。log level = 3をlog level = 2以下に修正します。 # --------------------------- Logging Options ----------------------------- log level = 2 log file = /var/log/samba/log.%m max log size = 5000
2020.2.12 水
ディスクの追加をしたあとにコマンドラインでマウントしないと使えません。 ゾーン永続ディスクの追加またはサイズ変更 コンソールまたはgcloudコマンドでディスクを追加した後に、該当VMインスタンスにログインしてrootユーザーにて以下のコマンドで、ディスクが正しく作られているか確認します。 # sudo lsblk NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT sda 8:0 0 10G 0 disk └─sda1 8:1 0 10G 0 part / sdb 8:16 0 500G 0 disk ←これ /devの中にもいるので確認しておくとよいです。 # ls -al /dev ... brw-rw----. 1 root disk 8, 0 12月 2...
2019.12.26 木
Postgresの権限設定のベストプラクティスというか方針はどうするのがよいのか?というところなのすが、実際は何でもいいです。ですが、おおよそのベストプラクティスとしては、 Loacalからのアクセスはpeerかidentでやるのがいい。 認証方式
2019.12.23 月
SSHでのscpコマンドの使い方である程度基本的なことを書いたので、その応用編です。 SSHの踏み台(ポートフォワード)を使ってSCPする ssh/scp多段接続〜踏み台サーバを越えて〜
2019.11.4 月
# yum list installed | grep postgresql Existing lock /var/run/yum.pid: another copy is running as pid 29910. Another app is currently holding the yum lock; waiting for it to exit... The other application is: yum Memory : 74 M RSS (396 MB VSZ) Started: Mon Nov 4 13:18:30 2019 - 00:02 ago State : Sleeping, pid: 29910 pidを削除してあげると、Lockが解除されます。 # rm -f...
2019.10.28 月
SSHの接続はいろいろセキュリティー上面倒な部分なので、そこらの部分含めると結構テクニカルなことになってしまうので割愛。 ポートの変更 既存のsshd_configのバックアップとっておきます。 # cd /etc/ssh # cp -p sshd_config sshd_config.org ポートを変更します。コメントアウトしてある場合は、外してください。 #Port 22 ↓ Port 2222 保存してからsshd -tで構文チェックしてください。 再起動。既存ポートでは接続できなくなるので十分注意してください。 # systemctl restart sshd.service
2019.10.20 日
GCPのVMインスタンスはIAMで登録したユーザーが自動的にVMインスタンスのユーザーとして登録されるようになっているのだけど、デフォルトでは誰でもsodo suできるようになっている。sudo suできるユーザーを限定するには、/etc/sudoers.d/google_sudoersを修正します。修正間違えるとログインできなくなるので注意。 #%google-sudoers ALL=(ALL:ALL) NOPASSWD:ALL username ALL=(ALL) NOPASSWD: ALL 既存のgoogle-sudoersの行をコメントアウトして、許可するユーザーを個別に書いてあげればOKです。これでsudo suとsudo自体が使えなくなります。
2019.10.8 火
今どきこんな作業することになるとは。 # yum list | grep cvs cvs.x86_64 1.11.23-35.el7 @base なんかあるっぽい。安定版の最新が1.11.23。 # yum -y install cvs バージョン確認 # cvs --version Concurrent Versions System (CVS) 1.11.23 (client/server) 場所 # which cvs /usr/bin/cvs なるほど。 /home/cvsrootを使いたいので、対象ディレクトリで初期化。 私の場合は既存のcvsのファイルを別サーバーから移動してきて行いました。とくに問題なくinitできたようです。 # cvs -d /home/cvsroot in...
2019.10.2 水
CentOS7にAnsibleをインストールする例です。 # yum install epel-release # cd ~ # yum -y install ansible バージョン確認。ansible 2.8.5が入りました。 # ansible --version ansible 2.8.5 config file = /etc/ansible/ansible.cfg configured module search path = [u'/root/.ansible/plugins/modules', u'/usr/share/ansible/plugins/modules'] ansible python module location = /usr/lib/python2.7/s...
2019.9.16 月
php artisan tinkerを実行すると以下のようなエラーで実行できないことがあります。 In Configuration.php line 363: [ErrorException] mkdir(): Permission denied -vvvvをつけて、デバックモードでコマンドを実行してみます。 $ php artisan tinker -vvvv In Configuration.php line 363: [ErrorException] mkdir(): Permission denied Exception trace: Illuminate\Foundation\Bootstrap\HandleExceptions->handleError() at n/a:n...
2019.9.16 月
CentOS7でapacheを動かしている環境です。PHPは7.2.17で動いています。 laravel5でtinkerを実行すると以下のようなエラー(Warning) $ php artisan tinker PHP Warning: Module 'ssh2' already loaded in Unknown on line 0 ssh2が二重に読み込まれているっぽいので、エクステンションの部分を検索してみる。/etcあたりを検索。 $ find ./etc -type f | xargs grep "ssh2.so" ./php.d/ssh2.ini:extension=ssh2.so ./php.d/20-ssh2.ini:extension=ssh2.so どっちかが無駄っぽい気...
2019.8.28 水
人物 × Close ルネサンス期を代表する芸術家であり、「飽くなき探究心」と「尽きることのない独創性」を兼ね備えた人物といい、日本の美術史では「万能の天才」といわれている[1]。史上最高の呼び声高い画家の一人であるとともに、人類史上もっとも多才の呼び声も高い人物である[2]。アメリカ人美術史家ヘレン・ガードナー(英語版)は、レオナルドが関心を持っていた領域分野の広さと深さは空前のもので「レオナルドの知性と性格は超人的、神秘的かつ隔絶的なものである」とした[1]。しかしながらマルコ・ロッシは、レオナルドに関して様々な考察がなされているが、レオナルドのものの見方は神秘的などではなく極めて論理的であり、その実証的手法が時代を遥かに先取りしていたのであるとしている[3]。 1452年4...
2019.5.23 木
実行環境の確認 python2で動くAnsibleですが、python3でもサポートしているようです。何かとアップデートが早い時代なので、新しいものにしておいた方がよいかもしれません。 Python 3 Support Ansibleの基本概念 インベントリ(inventory) インベントリは構成管理をする対象ノードへの接続情報を記載したもの。 デフォルトでは /etc/ansible/hosts だが、環境変数 ANSIBLE_HOSTS を設定したり、-i オプションでhostsファイルへのパスを指定可能です。 モジュール(module) モジュールはユーザーを作成したり、ファイルをコピーしたりするもので、多くは冪等性が保たれたものとなります。基本モジュールをそのまま利用するだけで大抵...
2019.4.1 月
CentOS7でDockerを起動してアプリケーションを管理する方法です。 dockerとdocker-composeをインストールする docker すでにDockerがインストールされていた、一度削除して最新のものにします。 yum remove docker docker-common docker-selinux docker-engine 必要なパッケージのインストールをしておきます。 yum install -y yum-utils device-mapper-persistent-data lvm2 dockerのリポジトリの追加 yum-config-manager --add-repo https://download.docker.com/linux/centos/doc...
2018.11.14 水
Python3.6.5をインストールします。現時点の最新は3.7ぐらいになっているはずなんですが、3.6はまあまあ安定版だと思うのでよいでしょう。 ここではPython3.6をpythonコマンドで使えるようにしてデフォルトで入っているPython2.7.5を(一応とっておいて)python2で叩けるようにしておきます。 Python 3.6.5インストール まずはリポジトリをインストールします。 # yum install -y https://centos7.iuscommunity.org/ius-release.rpm Pythonをインストール # yum install -y python36u python36u-devel python36u-libs これで終わりなので、バ...
2018.11.13 火
設定ファイルのデフォルトの状態のバックアップは必ずとっておく。 # cp -p /etc/php.ini /etc/php.ini.org Error表示関連 画面にエラー表示をする display_errors = Off ↓ display_errors = On たぶんデフォルトのままでよし。 error_reporting = E_ALL & ~E_DEPRECATED & ~E_STRICT /var/log/httpd/errorあたりのログに出力するやつ。たぶんデフォルトのままでよし。 log_errors = On php関連のエラーログを有効にする ;error_log = php_errors.log ↓ error_log = php_errors.lo...
2018.11.12 月
CGP(GCE VMインスタンス)のSSH接続方法です。インスタンス作成が成功したらブラウザーウィンドウからSSH接続できるようになっています。これは結構便利は便利なんだけど、LOCAL PCの普通のSSHクライアントとかで鍵認証でアクセスした方が長い開発の中では便利なので、ブラウザーウィンドウでのコマンド操作は初期構築の場面やクライアントからSSHアクセスできなくなったとき(FWの設定などを失敗した場合)ってことになるかと思います。 Google Cloud SDKのインストール Google Cloud SDK ドキュメント 「Cloud SDKのインストーラ」をダウンロードします。GoogleCloudSDKInstaller.exeというファイルが落ちてくるのでダブルクリックしてイン...
2018.11.12 月
The zone 'projects/PROJECT_NAME/zones/asia-northeast1-c' does not have enough resources available to fulfill the request. Try a different zone, or try again later. 東京リージョンの「asia-northeast1-a、asia-northeast1-b、asia-northeast1-c」が比較的不安定なようです。VMインスタンス作成時に失敗し上記エラーが出ることがあります。タイミングが悪いと比較的頻繁に多発します。しばらく時間をおくとたいていはインスタンスの作成が可能になります。VMインスタンスは作成成功時は30秒程度で完了する...
2018.11.6 火
リバースプロキシとかLBとかを挟むと当然アクセスIPアドレスがlocalhostになってしまうので、正しいアクセス元のグローバルIPアドレスを設定する必要があります。普通はX-Forwarded-ForというhttpヘッダにグローバルIPを渡して後方のwebサーバーでそれを拾うという段取りになります。 nginxの設定 nginxの方の設定ではserverのプロキシのヘッダに設定してあげます。$proxy_add_x_forwarded_forでグルーバルIPが拾えるのでそれをそのままX-Forwarded-Forにセットします。 server{ server_name example.com; return 301 https://$host$request_uri; proxy_set_...
2018.10.26 金
バージョン確認 $ psql —-version (ログインしてから、"# select version();") ログイン/ログアウト ログイン $ su - postgres $ psql (または psql -d postgres / psql -U postgres) postgres=# ログアウト postgres=# \q データベース (Database) postgres-# psql DATABASE_NAME ユーザーを指定してデータベースに入る postgres-# psql -U USER_NAME DATABASE_NAME データベースの一覧 =# \l (または $ psql -l) データベース切り替え(というか接続) postgres-# \c DATAB...
2018.10.26 金
Postgresqlの最新をインストールします。 基本はここから最新を探してくる。 PostgreSQL RPM Building Project – Repository Packages リポジトリの登録 CentOS 7 – x86_64をインストールします。 # yum -y install https://yum.postgresql.org/11/redhat/rhel-7-x86_64/pgdg-centos11-11-2.noarch.rpm インストール # yum -y install postgresql11-server postgresql11-devel postgresql11-contrib バージョン確認 # psql --versi...
2018.10.24 水
PHP7でOracleに接続するでPHP7からの接続はできるようになりました。 LaravelでOracleを使うときの具体的な手順を解説します。 パッケージのインストール 必要なパッケージはこれ。 – Packagist: yajra/laravel-oci8 – Github: yajra/laravel-oci8 $ php composer.phar require yajra/laravel-oci8:v5.7.2 どうやらこれだけで動くっぽいです。 Databese接続パラメータの設定 例によってconfig/database.phpに設定します。Oracleはデフォルトで設定項目がない(配列に入っていない)ので自分で追加してあげる必要があります。 'co...
2018.10.23 火
oci_connect()はデフォルトのPHPには含まれていない関数なのでoci8とpdo_ociのインストールが必要です。 Instant Client18.3 oci8 pdo_oci オラクルクライアント(Instant Client)のインストール まずは普通にコマンドラインからつながるようにしておきます。どっちにしろ開発で使うので。 Oracle Instant Client mysqlとかだったら特にクライアントとか意識せずにClientとRemoteの両方のマシンにmysqlをインストールしてしまえばいいんですが、Oracleは面倒です。まずはOracle Instant Clientでsqlplusでもってコマンド上でログインして操作できるようにしてみます。 Instant ...
2018.10.8 月
HDDがいつの間にかいっぱいになっちゃったという原意の100%はログといっても過言ではありません。 なのでlogrotateサービスを設定しておく必要ありです。 # rpm -qa | grep logrotate logrotate-3.8.6-15.el7.x86_64 ファイルは以下のようになっています。 – /etc/logrotate.conf ログローテーション全体の管理ファイル – /etc/logrotate.d/* ログファイル個々の設定ファイル – /var/lib/logrotate/logrotate.status 「最後にローテーションした日時」を管理するファイル 基本的な設定 /etc/logrotate.confのデフォルト。...
2018.10.6 土
リポジトリの作成 yumのリポジトリにデフォルトで入っていないのでリポジトリを作成 # touch /etc/yum.repos.d/nginx.repo 以下記述 [nginx] name=nginx repo baseurl=http://nginx.org/packages/mainline/centos/7/$basearch/ gpgcheck=0 enabled=1 これでリポジトリの設定完了。 インストール # yum -y install nginx バージョン確認 # nginx -v nginx version: nginx/1.15.5 これでインストール完了。 自動起動の設定をしておきます。 # systemctl enable nginx nginxを起動します。 ...
2018.5.9 水
できるだけプロダクト環境というか実践に耐えうるnodeサーバーの構築方法です。バージョンアップと開発がやたらにスピーディーなのでプロダクトって何のことやらという話でもあるのですが。ちなみに2018-05-09現在のものになります。 version Node.js 8.11.1を選びます。 リリース一覧ではLTSの最新になっているからです。どこからダウンロードすればいいのか探してみたら、 http://nodejs.org/dist/ ここらでダウンロードできそうです。 ソースの入手とインストール (最新版をバイナリからインストール) もう、どれとってくればいいんだかわからんです。 https://nodejs.org/download/release/v8.11.1/ よくわからんので、 n...