Difference between revisions of "Plesk"

From Server Knowledge Base
Jump to navigationJump to search
m
Line 141: Line 141:


== [[Mail#Managing_mail_via_Plesk | Mail Management]] ==
== [[Mail#Managing_mail_via_Plesk | Mail Management]] ==
On a Plesk server with the Mail Transfer Agent called Qmail installed, mail is sent from the primary IP address only.
If the MTA is Postfix, it can send from any valid IP address allocated to the server.


== Limit Client access to areas ==
== Limit Client access to areas ==

Revision as of 08:15, 5 April 2013

Note: Plesk 11 uses nginx. If the IP address and websites will not load, do ps aux | grep nginx . If not running do /etc/init.d/nginx reload

To check if anyone has logged into Plesk, use the file /usr/local/psa/admin/logs/httpsd_access_log (*.processed), further Plesk logs.

Plesk uses Subscriptions/Webspaces for domain. If you are not in Power User mode you will see Subscription on the menu down the left side. If you have have Power User mode on, you will see tabs along the top. These are the same thing effectively, however you have less control using Webspaces than Subscriptions. Turn Power User mode off to simplify things and allow more access for yourself.

Password retrieval

Retrieve Plesk password in Remote Desktop

The command below retrieves the admin PW, not Administrator.

Start > Run:

"%plesk_bin%\plesksrvclient" -get

Start > Search CMD or Start > All Programs > Accessories > Command Prompt:

"%plesk_bin%\plesksrvclient" -get  -nogui > plesk_password.txt

Set in CMD:

"%plesk_bin%\plesksrvclient" -set <new_password> true

MySQL password:

C:\Program Files\Parallels\Plesk\admin\bin>dbclient.exe --direct-sql --sql="select * from databaseservers where type='mysql' and host='localhost'"

The above is used for Plesk 9 using the Jet DB. To set a new one, do:

dbclient.exe --direct-sql --sql="update databaseservers set admin_password='NEWPASSWORD'"

Show Non-encrypted password in SSH

Use this in SSH if Plesk is below version 10.2: cat /etc/psa/.psa.shadow

Show Decrypted password in SSH

Use this in SSH if Plesk is version 10.2 or above: /usr/local/psa/bin/admin --show-password

  • Using /usr/local/psa/bin/admin --help displays a lot of different commands to use.
  • The Virtuozzo password can be set by using passwd root in the container as specified here: Setting root password.
  • The Plesk admin password can be set by using the command:
/usr/local/psa/bin/init_conf -u -passwd newpassword

Guide: http://kb.parallels.com/en/111192

Check FTP passwords

Linux:

mysql -u admin -p`cat /etc/psa/.psa.shadow` psa

SELECT login AS FTP_USER,password AS FTP_PASS,home AS DOMAIN_ROOT,accounts.id,sys_users.account_id FROM accounts, sys_users WHERE accounts.id=sys_users.account_id;

Where to set FTP passwords in Plesk or SSH

Windows

In command prompt do:

cd %plesk_dir%
cd mysql\bin
mysql -uadmin -p -P8306

Then use either the DB pass or the Plesk password retrieved from Start > Run:

"%plesk_bin%\plesksrvclient" -get

In command prompt do:

show databases;
use psa

SELECT login AS FTP_USER,password AS FTP_PASS,home AS DOMAIN_ROOT,accounts.id,sys_users.account_id FROM accounts, sys_users WHERE accounts.id=sys_users.account_id;

Check Plesk Email passwords

mysql -u admin -p`cat /etc/psa/.psa.shadow` psa

SELECT accounts.id, mail.mail_name, accounts.password, domains.name FROM domains LEFT JOIN mail ON domains.id = mail.dom_id LEFT JOIN accounts ON mail.account_id = accounts.id;

Or:

/opt/psa/admin/sbin/mail_auth_view

Updating/Upgrading Plesk

To check the version of the control panel hover over the tab in your browser once you have gone to the Plesk control panel log in or have logged in and it should display the version. Alternatively it should say on the Home/Main Menu page.

#For Ubuntu:
cat /opt/psa/version
#For Centos:
/usr/local/psa/version

This will check the Plesk and Linux OS version at the time of purchase, it may have changed since it was bought. Check the current Linux OS version by using:

cat /etc/issue

Web Statistics Not Generating

Commonly caused by the customer upgrading the version of Plesk on their VPS. The easiest fix is to simply create an additional cronjob to run the stats program:

crontab -e
*Press* Insert or I
0 1 * * * /opt/psa/admin/sbin/statistics
*Press* Escape
:wq

Save changes. Then run either of the below:

Linux:

/opt/psa/admin/sbin/statistics
/usr/local/psa/admin/sbin/statistics

Windows:

C:\Program Files (x86)\Paralllels\Plesk\admin\bin\statistics.exe

This will generate the initial view of the statistics from any files currently available. This will not work if the server has not been set up to generate the stats.

If this fails with a message such as tomcat is not installed (like below), run /opt/psa/admin/bin/autoinstaller, /usr/local/psa/admin/bin/autoinstaller or /usr/local/psa/admin/sbin/autoinstaller and under the Option "Plesk hosting features" is the Tomcat Java application, this will create the appropriate folders then run /opt/psa/admin/bin/autoinstaller again, or manually create them.

error: error accessing /var/lib/tomcat6/logs: No such file or directory
error: tomcat:2 glob failed for /var/lib/tomcat6/logs/*.log

If you receive a MySQL error, install the micro updates for 10.4 as this apparently fixes the issue. How to check if Micro Updates have been applied

To generate for one domain run: /usr/local/psa/admin/sbin/statistics –calculate-one –domain-name=domain.com

Binaries damaged (rebuild your server): it appears that the crontab and cron daemon associated binaries have been damaged and has been unable to automatically create statistics. You are able to generate statistics manually but this will not automatically update unless a rebuild is performed.

C Exception: 3221225477

Fix for Plesk 9.5.2 or lower

Statistics Login

This normally uses your FTP user log in credentials if it prompts you for log in details.

Backups

Domain Management

Mail Management

On a Plesk server with the Mail Transfer Agent called Qmail installed, mail is sent from the primary IP address only.

If the MTA is Postfix, it can send from any valid IP address allocated to the server.

Limit Client access to areas

If you want to limit a customer to only access and manage a domain's mail this needs to be configured through Customer and the domains Users tab. Grant or deny privileges.

Giving third party access to Plesk/server (assigning a domain to a client):

You can create a new client, once their details have been entered and their user has been created, select their account and select modify. From here you can give them as much, or as little privileges as you are comfortable for them to have. There is no option to give them administrator status, you grant them this elsewhere, via "Assign new owner" (found near the modify option) which you would not want to do as this would grant their account ownership over the server.

For Plesk 9, create a client, then create domains underneath it. You can then log in as a user and it will only allow you to manage the domains you have created under it. You can modify permissions for this.

User Roles in Plesk 10
Plesk users explained

To limit a User to a set of domains, create a new Customer. Then go to Subscriptions and tick the domains you want them to have access to. Then click Change Subscriber and it will give them the domains you selected.

Plesk Errors

Plesk license key

These messages are all completely normal and do not affect the running of your server/websites in any way. The reason these messages appear is because it is Parallel's (the creators of Plesk) way of manually checking if the license is still being used, still valid and if you have upgraded/downgraded it. It is common to have to click Retrieve Keys every 1/2/3/4 weeks.

You are currently operating within the grace period of your product license, The license key is invalid or

The amount of Parallels Plesk Panel resources you operate with has exceeded the limits defined by your current product license. Please contact Parallels sales department to purchase a new licensed key.

You will get the following message in both Plesk and SSH using /usr/local/psa/bin/admin --show-password:

Error: The license key is invalid. In order to use the Panel, please obtain and install a new valid license key. Your license key has expired. To continue using your Panel, you must purchase a non-expiring commercial license key.

You will likely not be able to log into the Parallels Plesk control panel using the username admin so log in with root.

If you get these messages you can fix this by doing the following:

  • Click retrieve keys and then OK.
  • If the message still is present, log out and log back in.
  • If it takes you to a blank page after clicking retrieve keys take everything out of the URL/address bar after 8443 and hit enter. Then see the step above. If this still fails then see the bottom of this section.
  • You should then be able to log into the Plesk control panel with admin again.

Please be aware this does not in anyway affect the running of a server and is Parallels way of keeping track of their licenses. You cannot set it to do this process manually.

Alternatively if you click Retrieve Keys and get a blank page:

  • Go to the Server tab
  • Panel - License Management
  • click Retrieve Keys as this gets round the blank page issue.

Further Information
http://kb.parallels.com/en/1005 - Your license key is intended for use in a Virtuozzo environment only

Couldn't connect to server

In SSH do the following, and if blocked allow port 5224 through the firewall:

iptables -L -n
dmesg|grep 5224

CSF may need 5224 opening

As per the bullet points, if you still get a blank page after retrieve keys, taking everything out of URL after 8443 and get this message in your /var/log/sw-cp-server/error_log :

2012-11-15 08:44:54: (mod_fastcgi.c.2588) FastCGI-stderr:
Report body:
<?xml version="1.0"?>
<error><type>PleskFatalException</type><message>Unknown key property: concerto</message><file>/opt/psa/admin/plib/common_func.php3</file><line>93</line>0<trace>#0 /opt/psa/admin/plib/common_func.php3(4831): psaerror('Unknown key pro...') /opt/psa/admin/htdocs/server/key_update.php(16): getKeyProp('concerto')
{main}</trace><user-ip>::ffff:92.60.112.1</user-ip><host>217.8.253.85:8443</host><request-url>/server/key_update.php?key_type=plesk</request-url><request-method>GET</request-method><product-version>10.3.1 Ubuntu 10.04 1013110726.09
</product-version></error>

DO NOT RUN AUTOINSTALLER, THIS WILL UNINSTALL PLESK IN MOST CASES due to package conflicts. Fix the conflicts and run the autoinstaller (if Plesk is removed the auto installer will not be available at /opt/psa/admin/bin, but /opt/psa/admin/sbin).

You will likely need to download this file and replace the common_func.zip in the server: http://serverkb.co.uk/tools/software/zcommon_func.zip

See this link and this link for further information.

Certificate needs to be renewed

If you get the below email:

################# SSL Certificate Warning ################

Certificate for hostname 'vps10552808.123-vps.co.uk', in file (or by nickname):
/etc/pki/tls/certs/localhost.crt

The certificate needs to be renewed; this can be done
using the 'genkey' program.

Browsers will not be able to correctly connect to this
web site using SSL until the certificate is renewed.

##########################################################
Generated by certwatch(1)

See http://kb.parallels.com/827 and http://kb.parallels.com/en/1736

Configure Greylisting

A mail transfer agent (MTA) using greylisting will "temporarily reject" any email from a sender it does not recognise. If the mail is legitimate the originating server will, after a delay, try again and, if sufficient time has elapsed, the email will be accepted.

For further information, please see the header link and http://download1.parallels.net/Plesk/PP11/11.0.9/Doc/en-US/online/plesk-administrator-guide/63249.htm

/usr/local/psa/bin/grey_listing --info-server

Note: Office365 users have problems with the greylisting feature on Plesk. We are still not sure why it does this, however disabling greylisting seems to provide a work around.

Change Panel View (power user)

To change from the Service Provider view to the Power Panel or vice versa (it is advised to have power user off) use the following command:

/usr/local/psa/bin/poweruser --on
/usr/local/psa/bin/poweruser --off
%plesk_bin%\poweruser.exe --off #2008
%plesk_cli%\poweruser.exe --off #Plesk 11
C:\Program Files (86)\Parallels\Plesk\bin\poweruser.exe --off

Or go to:

  • Server tab > Panel Appearance > Interface Management > Interface Views tab > Tick Service Provider view
  • Server Management - Tools & Settings/Utilities > Panel Appearance > Interface Management > Interface Views tab > Tick Service Provider view

This is common if you want to set a Subscription's Expiration Date in Hosting Services - Subscriptions > click the domain > Customize > scroll down and tick Unlimited next to Expiration date

Guide

Change the Alarm Level for Health Monitoring

Log into Plesk and go to Server Management > Health Monitoring. From here click Download Configuration File and open it within Notepad.

Scroll down to where it says:

<service name="Web" monitor="true">
<alarm level="red" threshold="25" type="percent"/>
<alarm level="yellow" threshold="20" type="percent"/>
</service>

And modify the thresholds accordingly e.g.:

<service name="Web" monitor="true">
<alarm level="red" threshold="75" type="percent"/>
<alarm level="yellow" threshold="50" type="percent"/>
</service>

Then just save the file and back at "Health Monitoring" click "Upload Configuration File". Under <MemoryUsage> is where the memory threshold should be set. You can set this for CPU and disk usage as well in this file.

  • Hardware changes are not reflected in Health Monitor
  • sw-collectd may heavily load the system , that is the Health Monitoring process. When upgrading Plesk you may receive this message: WARNING: If you leave the default value of the "Interval" parameter in /etc/sw-collectd/collectd.conf, sw-collectd may do the above. Please see the link for details.
  • To change the email address Health Monitoring emails, this is normally in Server Settings or one of these files: /var/qmail/alias/.qmail-mailer-daemon , /var/qmail/alias/.qmail-postmaster , /var/qmail/alias/.qmail-root

See past resource usage

  • Expand Server Management > click Health Monitoring
  • Open one of the tabs using the + icon
  • Tick the box and it will show you a graph report.
  • Below the graph you can change time period using Select Period (from 3 hours to 1 week back)

Check Plesk install

tail -5 /tmp/autoinstaller3.log

Correct permissions and user:group

This is for Unix only and will only correct the domains document root or httpdocs.

Plesk version 8 - 10.3: http://kb.parallels.com/en/6572
Plesk version 11: http://kb.parallels.com/en/115454 (this may apply to 10.4 too)

Cron Daemon Errors

Fix: http://kb.parallels.com/en/112905

/etc/cron.daily/60sa-update:
[: 9: 1: unexpected operator
[: 14: 1: unexpected operator
run-parts: /etc/cron.daily/60sa-update exited with return code 1

If you receive an email such as Cron <root@lvps80-90-199-156> root run-parts --report /etc/cron.hourly

In crontab -e you may have 17 * * * * root run-parts --report /etc/cron.hourly , you probably actually need:

17 * * * * root test -x /usr/sbin/anacron || run-parts --report /etc/cron.hourly

Basically, run-parts takes a directory as an argument. It will run every script that is found in this directory. For example, if you do a listing of /etc/cron.hourly, you'll see that it's a directory where you can put executable files to be run every hour.

As you can see, in cron it's used for convenience, since you only have to specify one directory and everything in that directory will be executed. This makes it easy to maintain scripts in one of the etc/cron* directories.

See its manpage for more options that could be exploited for your own use cases. You could for example do a simple check and show which scripts would be run: run-parts -v –test /etc/cron.hourly

Still a work in progress for the one below:

Emails with "\bin\sh:root: not found"

test -x /usr/sbin/anacron || (cd / && run-parts --report /etc/cron.daily )
channel: no 'mirrors.updates.spamassassin.org' record found, channel failed
/etc/cron.daily/60sa-update exited with return code 4

crontab -r

vim /etc/crontab

Either try to change it to /bin/bash or stop the scripts running as root.

SHELL=/bin/sh
PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin

# m h dom mon dow user  command
42 * * * * root cd / && run-parts --report /etc/cron.hourly
43 1 * * * root test -x /usr/sbin/anacron || ( cd / && run-parts --report /etc/cron.daily )
39 0 * * 7 root test -x /usr/sbin/anacron || ( cd / && run-parts --report /etc/cron.weekly )
12 0 29 * * root test -x /usr/sbin/anacron || ( cd / && run-parts --report /etc/cron.monthly )

Potential Fix 1
Potential Fix 2
Potential Fix 3

Customer and Business Manager (C&BM)

Changing the Plesk admin password with C&BM enabled unsyncs the package.

Fix integration
Setting password in two places
Remove

When upgrading Plesk, normally in versions between 10-10.2 to higher you may receive:

WARNING: If you had not purchased the Customer and Business Manager License you can not use it after the upgrade. Check the article http://kb.parallels.com/en/111143 for more details.

Also, do not set the FTP username and the Customer's Plesk login username are not the same. This may confuse the MySQL psa database.

Enable Parent Paths

  • Website and domains
  • Show advanced
  • Virtual directories
  • Directory properties
  • Parent paths tick box

Export database via PHPMyAdmin

  • Go to Server Management - Tools & Settings
  • Go to Applications & Databases - Database Servers
  • Click the number under the Databases column
  • Click Webadmin (you may need to allow pop-ups)
  • Click the database you want to download
  • Click Export
  • Click Go
  • Save

Forward domain to Plesk control panel

  • Ensure you do not have any DNS record for the domain in Plesk's DNS settings.
  • Click Add New Domain
  • Put the domain in
  • Set it to be Hosting Type - Forwarding
  • Set the Destination
  • Standard Forwarding
  • Add the DNS record at the nameserver now
  • Run Plesk's DNS Manager (/usr/local/psa/admin/bin/dnsmng --update domain.co.uk)

Installs

Manage Database servers

Server Management - Tools & Settings > Applications & Databases > Database Servers

or Server tab > Applications & Databases > Database Servers

Show databases and their users

mysql -uadmin -p`cat /etc/psa/.psa.shadow`;
use psa

SELECT domains.name AS domain_name, data_bases.name AS database_name, db_users.login, accounts.password FROM data_bases, db_users, domains, accounts WHERE data_bases.dom_id = domains.id AND db_users.db_id = data_bases.id AND db_users.account_id = accounts.id ORDER BY domain_name;

Manage software services

Server Management - Tools & Settings > Server Management > Services Management

MySQL Version 5.5 on CentOS 6

This is really only possible on CentOS 5, as of 08/03/2013

wget http://rpms.famillecollet.com/enterprise/remi-release-6.rpm
rpm -Uvh remi-release-6*.rpm
vim /etc/yum.repos.d/remi.repo

Set the top [remi] to enabled=1

yum list mysql-server

A script to get the latest MySQL 5.5 for RHEL6

Alternatively, you can use the Atomic repo, however you must disable it afterwards, otherwise it may remove Plesk when it auto-updates.

Named won't start

This is normally caused by a missing DNS record, adding it should allow you to start the service again.

Preview function

If there is a firewall in place you need to configure the sites to use the internal IP addresses.

In the Plesk server settings there is an option "Web Preview Settings".

One of the options is for the preview URL's to be set up automatically for subdomains as one of the domains in your panel. This is the option you had selected but a certain domain was chosen as the "master" domain meaning it could not preview itself. Change the preview type to the alternate style and the button should now be displayed. The settings page explains the difference between the two settings and searching preview in the Plesk gives a slightly longer explanation.

Remove password protection

Self-signed certificate (security warning)

The certificate used to secure Plesk is self signed and is safe to accept. Please note you will also receive this security warning when accessing the Virtuozzo Control Panel and Parallels Product Installer pages.

When logging into your server over port 8443, you may be presented with a security warning by the web browser. This is due to the type of certificate being used for added security. There are 2 types of certificates: an Authority Signed certificate and a Self Signed certificate. Both are the exact same level of security, but a self signed certificate is issued by your server hosting company and needs to be accepted one time in the users browser. This is because the browser does not recognize the server provider as the issuer, whereas it already recognizes established authorities who issue SSL certificates.

In order to access your Server over port 8443 you will need to accept the security warning.

Server Side Includes (SSI)

Hosting Services > Domain/Subscriptions > Open in Control Panel or Manage Hosting > Websites & Domains tab > Click the domain itself > Go down to Web Scripting and Statistics and tick SSI Support.

Old Version of Plesk and an update fails

If you get the following error when upgrading Plesk using the updates section in plesk:

Installation could not be started: Unable to install packages because of package dependency problems. Not all packages were installed. ERROR: An error occurred on attempt to install packages. Attention! Your software might be inoperable. Please, contact product technical support.

Check what Ubuntu OS you are running. To do this via command line run cat /etc/issue.

Repositories

If it is Ubuntu 6 it could be an issue with the repos as it is out of support now. Edit the following file by using vim /etc/apt/sources.list

Comment out the old Ubuntu repository list using # (leave any others such as Plesk) and put in the below if it is Ubuntu 6.06 (Dapper Drake):

#Old-Release Sources
deb http://old-releases.ubuntu.com/ubuntu/ dapper  main universe multiverse
deb-src http://old-releases.ubuntu.com/ubuntu/ dapper  main universe multiverse
deb http://old-releases.ubuntu.com/ubuntu/ dapper-security main restricted universe multiverse
deb-src http://old-releases.ubuntu.com/ubuntu/ dapper-security main restricted universe multiverse

If you get the following error via SSH:

Err karmic/main Packages  404  Not Found
Err karmic/restricted Packages 404  Not Found
Err  karmic/universe Packages, 404  Not Found
Err  karmic-updates/main Packages 404  Not Found
Err karmic-updates/restricted Packages 404  Not Found

vim /etc/apt/sources.list.d

karmic.list is Ubuntu 9 which many hosters did not offer (hence no mirrors). If you are using lucid (Ubuntu 10), comment out the lines in this file. Apt should now update with no errors.

For Ubuntu 8.04 (Hardy Heron):

deb http://archive.ubuntu.com/ubuntu hardy main restricted universe multiverse
deb http://archive.ubuntu.com/ubuntu hardy-updates main restricted universe multiverse
deb http://archive.ubuntu.com/ubuntu hardy-security main restricted universe multiverse
# Plesk
deb http://autoinstall.plesk.com/ubuntu/PSA8 hardy all

For Ubuntu 10.04 (Lucid Lynx):

deb gb.archive.ubuntu.com lucid main restricted universe
deb gb.archive.ubuntu.com lucid-updates main restricted universe
deb gb.archive.ubuntu.com lucid-security main restricted universe

Note: change mirrors from gb.archive.ubuntu.com to your own/your hosting companies if need be.

Subversion repository guides: 1, 2, 3, 4, 5

Additional repos:

deb http://archive.ubuntu.com/ubuntu lucid universe
deb http://archive.canonical.com/ lucid partner

Then run the following afterwards:

apt-get update
/opt/psa/admin/bin/autoinstaller

This should provide more information as to which packages are causing the problem. Also try looking in the following log as this should have the info:

#/tmp/autoinstaller3.log

Depending what is broken you may be able to force the install or configure the packages:

apt-get -f install
dpkg -a configure-all

If neither of those fix then rebuild the server. Also check if there have been any custom upgrades such as PHP as that can break it.

Notes

Plesk 9 will fall into Extended Support phase on December 9th 2012 where no further development work will be performed and will receive patches only for critical issues as per: http://www.parallels.com/products/plesk/lifecycle

For further information on how to upgrade Plesk and the differences steps involved and potential issues, please see:

http://download1.parallels.com/Plesk/PP11/11.0/Doc/en-US/online/plesk-installation-upgrade-migration-guide/70337.htm
http://download1.parallels.com/Plesk/PP11/11.0/Doc/en-US/online/plesk-installation-upgrade-migration-guide/70381.htm