うつ病、双極性感情障害を抱えたけんけんのFedora、FreeBSD勉強日記。
Linux、Unixのデスクトップ用途として使う秘訣お教えします。
 since 2006年2月16日(木)

サーバー管理

コマンドCUIでGNOMEのロックを解除する方法

 コロナの感染者の増加が止まらないですね。マスク着用手洗い体調悪ければ早めに休む3密避けるなどを頑張るしかないかなと思います。

環境

 さて、私はお家LAN内iPhoneからLinuxマシンにsshで入りつつ、GNOMEのVNC画面共有してます。クライアントはiPhoneでVNC Viewerというアプリを使ってます。

実現したい事

 このGNOMEのVNC画面共有はLinux側でロックされるとVNCクライアントからは接続出来ない仕様になってるみたいで接続拒否されます。Linuxマシン側でロック解除すれVNCばクライアントから接続出来ます。

 Linux起動時にGNOMEの自動ログインを有効にしてますが、画面ロックしない設定にすればいつでもGNOME画面共有が出来ますが、セキュリティ的には危険過ぎます。そこでGNOMEロック解除出来るコマンドあれば、sshでVNC画面共有してるLinuxマシンに入れば、使えるようになるなあと思い探してたらありました。

コマンドCUI

 実際のコマンドは以下です。

loginctl unlock-session

とすればOKです。aliasしとけばらくですね。bashなら.bashrcに

alias Z='loginctl unlock-session'

とすれば、'Z'と打つだけで楽です。

少し解説

 このコマンドloginctl

rpm -qf $(which loginctl)

systemd-246.7-2.fc33.x86_64

systemdパッケージみたいです。GNOMEのコマンドじゃないみたいです。

感想

 コマンドでロック解除出来たので、自動で時間指定で画面ロックしてても快適にVNC画面共有出来てご機嫌です。ですが、こんな事しなくもX11vncなら、ロック解除画面が出てくれてVNC経由でパスワード入力画面が出るのでこちらを使うのが良いと思います。ただし、Waylandでは動かないので、1度gdmログイン画面でWaylandからXorgに変更しておく必要があります。  X11vnc設定方法は、 を参考にしてください。

参考



SSHでパスワード認証を無効に出来ない on Fedora 33 32

状況

  Fedora 32,33上でSSHのパスワード認証の無効化が出来ません。sshサービスを起動して、firewalldを通すだけでパスワード認証は出来る訳でき、通常は/etc/ssh/sshd_configを編集してしまうだけなのですが… 注意としては、公開鍵認証の設定がちゃんと確立出来ている事を確認しておいて下さい。失敗すると接続出来なくなります。

解決方法

解決方法はとても簡単でした。大分探したのですけども。/etc/ssh/sshd_config.d/50-redhat.confを以下のように編集です。もちろん、sshd_configも同様に。

PasswordAuthentication yes

の行のyesをnoにするか削除して下さい。

PasswordAuthentication no

このファイルを探すのに苦労しました。sshd_config.dディレクトリがrootだけしか実行権限が付いてなくて、bashのファイル補完に出てこなかったので、気づきませんでした。しかし、この設定は2020年12月1日現在では修正されていて該当行はなくなっているので、環境によっては/etc/ssh/sshd_configのこの行を変更するだけで良いかもれしれません。また、sshd_config.d以下のファイルが他にもあればその設定も有効になってしまうので気をつけて下さい。ちゃんとパスワード認証が無効化されていれば、秘密鍵指定なしでは以下のように出力されるはずです。

Permission denied (publickey,gssapi-keyex,gssapi-with-mic)

まとめ

Fedora 32 33でのパスワード認証の無効化を解説しました。sshd_configを編集しても無効化出来ないならば、sshd_config.d/以下ファイルを修正すれば直ります。パスワード認証無効化はセキュアなsshリモート接続に必須なので、しっかり設定しておきましょう。

WordPress Maximum Upload File Size 2MB

WordPress鯖をLAN内で構築しているのですが、画像ファイルなどのメディアファイルのサイズが2MB以上のものがアップロード出来ませんでした。

ぐぐってみると、.htaccessとか functions.phpだったりしますが変更しても何も変化なく…

/etc/php.iniの編集

  
 Fedora鯖のphpの/etc/php.iniを弄れば良いようです。もちろんsudo vim /etc/php.initしてくださいね。  
    
upload_max_filesize = 2M
  
        ↓   
upload_max_filesize = 10M
  
    
  と数字を変更してください。数値は必要になってから増やす方が良いかと思います。
  
    

php-fpmサービスの再起動

  
  phpのサービスを再起動します。   
    
 sudo systemctl restart php-fpm
  
    

PHP設定確認

  
  設定サービス再起動したら安心と思わず、反映されているか確認しておきましょう。WordPressでアップロードしてみれば良いですが、WordPress側の設定のせいか鯖の設定か切り分けられないので、Linux鯖のPHPでの確認方法を紹介しておきます。   
    

phpinfo.phpの確認

  
  phpの設定確認にphpinfo.phpを用意します。公開先は標準だと/var/www/html/以下ですかね。   
 
phpinfo-code
    
とします。画像ですいません。HTML preタグの中で書くと<?がコメント化されてしまいます。
編集出来たら、ブラウザで
http://IPアドレスorドメイン名/phpinfo.php を開きます。IPアドレスorドメイン名はご自分の環境で。すると下図のようにphpの情報が表示されると思います。   
    
  phpinfo-ed
  
    
  表示されたら、ブラウザの検索で

upload_max_filesize

で検索します。下図のように設定した数値になっていたら成功です。
php情報を公開するのは危険なので速やかにphpinfo.phpを消しておいてください。   
    
  phpinfo-max-file-size_ed
  
    
  これでもWordPressでメディアアップロードが出来なければブラウザからWordPressの設定をあたってください。プラグインで設定するのが楽かな?   

Docker使い方まとめ

Software DesignでDockerを知ってコマンドが覚えられないので自分用に使ってみたまとめです。 みなさんの役にも立つと思い記事にしました。

Dockerのインストールと設定

インストール

sudo dnf install docker

サービスの起動

sudo systemctl start docker
sudo systemctl enable docker

ユーザー権限でDockerを扱う方法

Fedoraデフォルトでは

sudo groupadd docker
sudo usermod -g docker kenken

Docker公式のチュートリアル

とりあえず Dokerのチュートリアルを読んで遊びましょう。

Dockerイメージの取得pull

Dockerイメージを取得するにはpullコマンドを使います。

docker pull centos

イメージの確認images

docker images

コンテナの実行runコマンド

docker run centos
続きを読む

お使いのサーバーのphpではwordpressに必要なmysql拡張を利用できないようです on Fedora25

エラーメッセージ

Fedora25にアップグレードして久々にWordPressを鯖設定するというか設定済なので localのWordPressを開くと、
以下のように言われました。

お使いのサーバーのphpではwordpressに必要なmysql拡張を利用できないようです

他サイトさまの解決方法

エラーメッセージだけで判断するとFedoraだからPHPのバージョンが新しいすぎるのかなあと思ったのですが ググった限りではPHP 7系統でも動いている様子。
当然次にやることはこのエラーメッセージでググることですね。

ぐぐるとまあ、出てくるわ出てくるわ色んなサイトがひっかっかります。よくある問題みたいです。 大きくは、2つのことが原因のようです。

  • MySQLのPHP拡張が入っていない。
  • /etc/php.iniファイルの の設定が不十分。

対策

答えを最初に書くと、/etc/php.iniが古くなっていたのか、php.iniファイルを一旦削除してphp-commonパッケージを再インストールしたら直りました。 コマンドで書くと、

sudo rm /etc/php.ini
sudo dnf reinstall php-common
sudo systemctl restart httpd

とすれば直りました。

詳細

以下これより先はことの顛末を記述しています。

とりあえず、MySQLのPHPが拡張が入ってないかどうかはパッケージがインストールされてるかどうかですね。
そこで、以下のコマンドを実行して入っているか確認します。

rpm -q php-mysql

とすると

パッケージ php-mysql はインストールされていません。

と言われました。 あれ?入ってないのおかしいなあということでもう少し広めにパッケージデータベースを検索してみます。

rpm -qa|grep php-mysql

としてみると

php-mysqlnd-7.0.14-1.fc25.x86_64

と返ってきました。パッケージ名が変わったんですかね。

それでは、/etc/php.iniの設定がおかしいのかなあと変更してみます。 /etc/php.iniファイルをsudoで開いて

;extension=msql.so 

の;を削除してコメントアウトを外します。つまり以下のようにします。

extension=msql.so 

に書き直します。そして設定変えたのでhttpdサービスを再起動します。

sudo systemctl restart httpd

としてwordpressを開いてみてもエラーメッセージは変わらず…

そして、

php -m | grep mysql

してみても何も返事がなく…

ここで、ではwordpressのバージョンが古いのかなと考え今あるディレクトリをリネームして新しいバージョンを落としてきます。

wordpress Latestをダウンロードして/var/www/htmlに展開します。
が、結果変わらず。

php -m

してみると、なんと

PHP Warning:  PHP Startup: Unable to load dynamic library './zip.so' - ./zip.so: cannot open shared object file: No such file or directory in Unknown on line 0

とズラズラーッとWarningが出るではありませんか。

確かに/etc/php.iniファイルを弄ったのに変化ないし、弄ってなくてもタイトル通りのエラーが出ていたのでひょっとして/etc/php.iniファイルが壊れてるのかと思い、

sudo rm /etc/php.ini
sudo dnf reinstall php-common

してみました。パッケージ名がphp-commonとわかったのは

sudo dnf provides /etc/php.ini

としてphp.initの在り処がphp-commonと表示されたからです。

php -m |grep mysql

を再度実行してみると

mysqli
mysqlnd

と表示され、エラーもなくなりました。

早速httpdを再起動させるとエラーメッセージなくWordPressのインストール画面が!!

無事解決してなによりです。 実はこれ以外にも一度データベースを削除しないといけなくなったりしましたが、 これは別記事にする予定。

参考: お使いのサーバーの PHP では WordPress に必要な MySQL 拡張を利用できないようです。 KUJIRA NOTE

ブログ内の検索
Google

WWW を検索
このblog内を検索
最新コメント
コンピューター オススメ
アクセスカウンター

    はてブリスト - 現在
    • ライブドアブログ