Skip to content

crossRT Posts

How to fix WordPress user registration email not sending while admin notification is sent.

Today I noticed my WordPress is not sending registration email to new user, but I’m received the notification email.
I spent 2 hours to figure it out.

  • Local SMTP mail server checked, email sent without any error.
  • External SMTP mail server tried, email sent without any error.

Both sending method sent notification to admin only, but not user registration email.

I suspect the problem is not caused by mail server, then I check all  installed plugins.

Finally I found a plugin called “Stop Spammers Spam Control” cause the problem I mentioned above. By deactivating it, everything works like charm again.

Conclusion

So if you having the same problem like me, try deactivate some installed anti-spammer plugins. It might helped.

Leave a Comment

Upgrade PHP 5.5 to 7.0 on Ubuntu 14.04

PHP 7.0 just released 2 weeks ago, and it has good reviews about performance improved a lot. So I would like to give it a try, upgrading my Ubuntu 14.04 VPS on DigitalOcean to this latest PHP version.  Here is my upgrade snippet.

My VPS details before upgrade:
  • Ubuntu 14.04
  • PHP 5.5.9
  • nginx 1.4.6
  • phpmyadmin installed
Steps
  1. Add the repository
    add-apt-repository ppa:ondrej/php-7.0
  2. Update
    apt-get update
  3. You can check installed php5-* packages with this command, for better understanding before remove them.
    dpkg --get-selections | grep php
  4. Remove all php5-* packages
    apt-get purge php5-*
    apt-get --purge autoremove
  5. Install php7.0 packages. Some might not necessary, depends on your requirement.
    apt-get install php7.0-fpm php7.0-mysql php7.0-cli php7.0-common php7.0-json php7.0-opcache
  6. After everything installed properly, you will need to update your web server configuration. For me, I need to modify fastcgi_pass directive in Nginx config file to something like this:
    fastcgi_pass unix:/run/php/php7.0-fpm.sock;
    

    This is because the location of socket file has changed in php7.

  7. Restart your nginx and php7.0-fpm
    service nginx restart
    service php7.0-fpm restart
Notes:
  • Run all commands with sudo or your root account.
  • phpMyAdmin will be removed during the steps above. Because it requires some php5 packages.
Leave a Comment

Setup SFTP for a user to access restricted folder only on Ubuntu 14.04

Today I need to give my friend access to my server, so he can edit any files in that folder. My server is running OpenSSH and SFTP is enabled by default, actually I can create a new Linux user for him to access with SFTP. But I just want he accessing to the folder I gave him, so here I modify OpenSSH configuration to fit my need.

System details:

  • Ubuntu 14.04
  • Running OpenSSH

Steps:

  1. Add a group called sftp.
    sudo addgroup sftp
  2. Add new user with default home path, assign to sftp group and disable shell access.
    sudo useradd -m -g sftp -s /bin/false username
  3. Give a new password for the user.
    sudo passwd username
  4. Change home directory’s user and group to root.
    sudo chown root:root /home/username
  5. Change home directory’s permission
    sudo chmod 755 /home/username
  6. Go into the folder
    cd /home/username
  7. Create a new folder named www.
    sudo mkdir www
  8. Change www folder’s user and group to username.
    sudo chown username:username www
  9. This step is the core. Edit to /etc/ssh/sshd_config with the editor you used to.
    sudo nano /etc/ssh/sshd_config
  10. Add following lines to the end of  /etc/ssh/sshd_config.
    Match group sftp
    	ChrootDirectory %h
    	X11Forwarding no
    	AllowTcpForwarding no
    	ForceCommand internal-sftp
    	# PasswordAuthentication yes

    Enable PasswordAuthentication by uncomment it if you enabled PubkeyAuthentication for other users in sshd_config.

  11. Restart ssh service. Done.
    sudo /etc/init.d/ssh restart

 

Leave a Comment