Apache sql php linux

Как установить веб-сервер (Apache, PHP, MySQL, phpMyAdmin) на Linux Mint, Ubuntu и Debian

Если вы веб-мастер, или программист на PHP, или вам просто нужно запустить веб-сайт на вашем компьютере, то вы можете это сделать с помощью веб-сервера. На Linux веб-сервер (Apache), а также сопутствующие компоненты (PHP, MySQL, phpMyAdmin) устанавливаются буквально в несколько команд.

В этой инструкции будет показано, как установить веб-сервер для сайтов на Linux Mint, Ubuntu и Debian.

Установка Apache, PHP, MySQL, phpMyAdmin на Linux Mint, Ubuntu и Debian

Большинство операций мы будет делать в командной строке – терминале Linux.

Откройте терминал и выполните в нём следующие две команды:

Ответьте «Нет» на запрос о настройки с dbconfig-common:

Для перехода между пунктами используйте клавишу Tab, а для нажатия Enter.

Выберите «apache2».

Для выбора пунктов используйте клавишу Пробел, для перехода между пунктами используйте клавишу Tab, а для нажатия Enter.

Вот и всё! Веб-сервер (связка Apache, PHP, MySQL, phpMyAdmin) установлен и готов к работе. Откройте в браузере ссылку http://localhost/

Вы увидите стандартную страницу Apache:

А phpMyAdmin доступен по ссылке http://localhost/phpmyadmin/

Чтобы веб-сервер запускался вместе с каждым включением компьютера, выполните команду:

Как поменять URL адрес phpMyAdmin. Как включить и отключить phpMyAdmin

Если при установке phpMyAdmin вы выбрали не настраивать его для использованием с веб-сервером Apache, то для включения phpMyAdmin используйте команду:

Чтобы изменения вступили в силу, перезагрузите веб-сервер:

Чтобы отключить phpMyAdmin, используйте команду:

Чтобы изменения вступили в силу, перезагрузите веб-сервер:

В файле /etc/phpmyadmin/apache.conf есть важная строка:

Суть её в том, что URL адресу /phpmyadmin (например, http://localhost/phpmyadmin) начинает соответствовать папка /usr/share/phpmyadmin. То есть файлы (скрипты) phpMyAdmin физически расположены в /usr/share/phpmyadmin, а не в директории веб-сервера (например, /var/www/html/).

Подробности о директиве Alias вы можете почитать в статье «Модуль Apache mod_alias».

Многие автоматические сканеры «скрытых» файлов и папок веб-сервера и сайтов обязательно проверяют директории «phpmyadmin», «pma» и другие подобные. Вы можете хорошо спрятать ваш phpMyAdmin изменив Alias. Например:

Чтобы изменения вступили в силу, перезапустите веб-сервер. Теперь phpMyAdmin станет доступен по адресу http://localhost/lkjgler94345 — такое найти непросто.

Настройка phpMyAdmin

По умолчанию phpMyAdmin не позволяет входить без пароля. Если вы не установили пароль для СУБД MySQL, то у вас на выбор две опции:

  • установить пароль
  • внести изменения в настройку phpMyAdmin, чтобы он разрешал вход без пароля

Рекомендуется задать пароль для базы данных. Для изменения пароля можно воспользоваться скриптом:

Если вам нужно подробное описание и перевод всех шагов, то смотрите его в этой статье.

Если вы хотите разрешить входить в phpMyAdmin без пароля, то откройте файл

Найдите вторую (их там две) строку

и раскомментируйте её (уберите два слеша из начала строки), чтобы получилось:

Скорее всего, при подключении вас ждёт сюрприз в виде ошибки «#1698 — Access denied for user ‘root’@’localhost’». Пошаговые действия для её решения в этой инструкции.

Где в веб-сервере Apache находятся сайты?

По умолчанию корневой папкой для веб-документов является /var/www/html. В /var/www вы можете делать ваши собственные виртуальные хосты.

Папка /var/www/html и все файлы внутри неё принадлежат пользователю рут.

Чтобы вы могли изменять, добавлять, удалять файлы в этой папке, вам нужно использовать sudo. Например, следующей командой вы откроете файловый менеджер для управления содержимым папки.

Все другие программы, которые вносят изменения в /var/www/html, также должны быть запущенными с sudo

На локальном сервере для упрощения использования вы можете сделать себя владельцем этой папки:

Теперь вам и запущенным от вашего имени программам не нужны привилегии суперпользователя для работы с содержимым этой директории:

Индексные файлы Apache

Если пользователь запрашивает у веб-сервера не файл, и директорию, то сервер ищет в ней файлы index.html, index.php, index.htm и т.п. Если эти файлы есть в этой директории, то показывается их содержимое. Эти файлы называются индексными. Если в директории сразу два или более таких файлов, то показывается один из них в соответствии с установленным приоритетом.

Посмотреть, какие файлы для вашего сервера являются индексными и в каком порядке выстроен их приоритет вы можете в файле

Там вы увидите что-то вроде:

Обычно пользователи хотят переместить индексный файл PHP (index.php) в первую позицию после DirectoryIndex, чтобы получилось примерно так:

После внесения изменений, сохраните и закройте файл, перезапустите веб-сервер.

Заключение

В этой инструкции было показано, как установить веб-сервер Apache на свой компьютер с Linux Mint. По своей функциональность этот сервер не отличается от возможностей хостингов. Вы можете на нём тестировать свои сайты, использовать при изучении PHP, установить WordPress и т.д. Более того, этот сервер можно сделать доступным для локальной или даже глобальной сети.

Источник

Ubuntu Documentation

Hint: Server Guide

To find the Ubuntu Server Guide related to your specific version, please go to: https://help.ubuntu.com/, select your Ubuntu version and then click on Ubuntu Server Guide. For the latest LTS version (14.04.1 LTS) of Ubuntu Server, please go to https://help.ubuntu.com/14.04/serverguide/index.html

Читайте также:  Заправка картриджа бразер 7055

This is to help people set up and install a LAMP (Linux-Apache-MySQL-PHP) server in Ubuntu, including Apache 2, PHP 5 and MySQL 4.1 or 5.0.

To install the default LAMP stack in Ubuntu 10.04 and above

First refresh your package index.

. and then install the LAMP stack:

Mind the caret (^) at the end.

Starting over: How to remove the LAMP stack

To remove the LAMP stack remove the following packages:

  • Note: This assumes you have no other programs that require any of these packages. You might wish to simulate this removal first, and only remove the packages that don’t cause removal of something desired.

To also remove the debconf data, use the purge option when removing. To get rid of any configurations you may have made to apache, manually remove the /etc/apache2 directory once the packages have been removed.

You may also want to purge these packages:

Installing Apache 2

To only install the apache2 webserver, use any method to install:

It requires a restart for it to work:

Checking Apache 2 installation

With your web browser, go to the URI http://localhost : if you read «It works!», which is the content of the file /var/www/index.html , this proves Apache works.

Troubleshooting Apache

If you get this error:

apache2: Could not determine the server’s fully qualified domain name, using 127.0.0.1 for ServerName

Ubuntu 13.10+

Use a text editor such as «sudo nano» at the command line or «gksudo gedit» on the desktop to create a new file,

to the file, save it, and enable your new configuration file by running the command below.

This can all be done in a single command with the following:

Ubuntu 13.04 and below

In older versions of Apache, the configuration files were located in a different directory. Use a text editor such as «sudo nano» at the command line or «gksudo gedit» on the desktop to create a new file,

to the file and save. This can all be done in a single command with the following:

Virtual Hosts

Apache2 has the concept of sites, which are separate configuration files that Apache2 will read. These are available in /etc/apache2/sites-available. By default, there is one site available called 000-default. This is what you will see when you browse to http://localhost or http://127.0.0.1. You can have many different site configurations available, and activate only those that you need.

As an example, we want the default site to be /home/user/public_html/. To do this, we must create a new site and then enable it in Apache2.

To create a new site:

Copy the default website as a starting point. sudo cp /etc/apache2/sites-available/000-default.conf /etc/apache2/sites-available/mysite.conf

Edit the new configuration file in a text editor «sudo nano» on the command line or «gksudo gedit», for example: gksudo gedit /etc/apache2/sites-available/mysite.conf

Change the DocumentRoot to point to the new location. For example, /home/user/public_html/

In the file: /etc/apache2/apache2.conf, change the Directory directive, replace to

You can also set separate logs for each site. To do this, change the ErrorLog and CustomLog directives. This is optional, but handy if you have many sites

  • Save the file
  • Now, we must deactivate the old site, and activate our new one. Ubuntu provides two small utilities that take care of this: a2ensite (apache2enable site) and a2dissite (apache2disable site).

    Finally, we restart Apache2:

    If you have not created /home/user/public_html/, you will receive an warning message

    To test the new site, create a file in /home/user/public_html/:

    Installing PHP 5

    To only install PHP5. use any method to install the package

    Enable this module by doing

    which creates a symbolic link /etc/apache2/mods-enabled/php5 pointing to /etc/apache2/mods-availble/php5 .

    Except if you use deprecated PHP code beginning only by «

    Relaunch Apache 2 again:

    Checking PHP 5 installation

    In /var/www , create a text file called «test.php», grant the world (or, at least, Ubuntu user «apache») permission to read it, write in it the only line: » » (without the quotation marks) then, with your web browser, go to the URI «http://localhost/test.php»: if you can see a description of PHP5 configuration, it proves PHP 5 works with Apache.

    Troubleshooting PHP 5

    Does your browser ask if you want to download the php file instead of displaying it? If Apache is not actually parsing the php after you restarted it, install libapache2-mod-php5. It is installed when you install the php5 package, but may have been removed inadvertently by packages which need to run a different version of php.

    If sudo a2enmod php5 returns «$ This module does not exist!», you should purge (not just remove) the libapache2-mod-php5 package and reinstall it.

    Be sure to clear your browser’s cache before testing your site again. To do this in Firefox 4: Edit → Preferences … Privacy → History: clear your recent history → Details : choose «Everything» in «Time range to clean» and check only «cache», then click on «Clear now».

    Remember that, for Apache to be called, the URI in your web browser must begin with «http://». If it begins with «file://», then the file is read directly by the browser, without Apache, so you get (X)HTML and CSS, but no PHP. If you didn’t configure any host alias or virtual host, then a local URI begins with «http://localhost», «http://127.0.0.1″ or http://» followed by your IP number.

    If the problem persists, check your PHP file authorisations (it should be readable at least by Ubuntu user «apache»), and check if the PHP code is correct. For instance, copy your PHP file, replace your whole PHP file content by » » (without the quotation marks): if you get the PHP test page in your web browser, then the problem is in your PHP code, not in Apache or PHP configuration nor in file permissions. If this doesn’t work, then it is a problem of file authorisation, Apache or PHP configuration, cache not emptied, or Apache not running or not restarted. Use the display of that test file in your web browser to see the list of files influencing PHP behaviour.

    Читайте также:  Intel hd graphics 630 для linux

    php.ini development vs. production

    After standard installation, php configuration file /etc/php5/apache2/php.ini is set so as «production settings» which means, among others, that no error messages are displayed. So if you e.g. make a syntax error in your php source file, apache server would return HTTP 500 error instead of displaying the php syntax error debug message.

    If you want to debug your scripts, it might be better to use the «development» settings. Both development and production settings ini’s are located in /usr/share/php5/

    so you can compare them and see the exact differences.

    To make the «development» settings active, just backup your original php.ini

    and create a symlink to your desired settings:

    or you may of course also edit the /etc/php5/apache2/php.ini directly on your own, if you wish.

    PHP in user directories

    According to this blog, newer versions of Ubuntu do not have PHP enabled by default for user directories (your public_html folder). See the blog for instructions on how to change this back.

    Installing MYSQL with PHP 5

    Use any method to install

    After installing PHP

    You may need to increase the memory limit that PHP imposes on a script. Edit the /etc/php5/apache2/php.ini file and increase the memory_limit value.

    After installing MySQL

    Set mysql bind address

    Before you can access the database from other computers in your network, you have to change its bind address. Note that this can be a security problem, because your database can be accessed by other computers than your own. Skip this step if the applications which require mysql are running on the same machine.

    and change the line:

    to your own internal ip address e.g. 192.168.1.20

    If your ip address is dynamic you can also comment out the bind-address line and it will default to your current ip.

    If you try to connect without changing the bind-address you will recieve a «Can not connect to mysql error 10061».

    Set mysql root password

    Before accessing the database by console you need to type:

    At the mysql console type:

    A successful mysql command will show:

    Query OK, 0 rows affected (0.00 sec)

    Mysql commands can span several lines. Do not forget to end your mysql command with a semicolon.

    Note: If you have already set a password for the mysql root, you will need to use:

    (Did you forget the mysql-root password? See MysqlPasswordReset.)

    Create a mysql database

    Create a mysql user

    For creating a new user with all privileges (use only for troubleshooting), at mysql prompt type:

    For creating a new user with fewer privileges (should work for most web applications) which can only use the database named «database1», at mysql prompt type:

    yourusername and yourpassword can be anything you like. database1 is the name of the database the user gets access to. localhost is the location which gets access to your database. You can change it to ‘%’ (or to hostnames or ip addresses) to allow connections from every location (or only from specific locations) to the database. Note, that this can be a security problem and should only be used for testing purposes!

    To exit the mysql prompt type:

    Since the mysql root password is now set, if you need to use mysql again (as the mysql root), you will need to use:

    and then enter the password at the prompt.

    Backup-Settings

    Please, let’s say something in which directories mysql stores the database information and how to configure a backup

    Alternatively

    There is more than just one way to set the mysql root password and create a database. For example mysqladmin can be used:

    mysqladmin is a command-line tool provided by the default LAMP install.

    Phpmyadmin and mysql-workbench

    All mysql tasks including setting the root password and creating databases can be done via a graphical interface using phpmyadmin or mysql-workbench.

    To install one or both of them, first enable the universe repository

    Use any method to install

    Troubleshooting Phpmyadmin & mysql-workbench

    If you get blowfish_secret error: Choose and set a phrase for cryptography in the file /etc/phpmyadmin/blowfish_secret.inc.php and copy the line (not the php tags) into the file /etc/phpmyadmin/config.inc.php or you will receive an error.

    If you get a 404 error upon visiting http://localhost/phpmyadmin: You will need to configure apache2.conf to work with Phpmyadmin.

    Include the following line at the bottom of the file, save and quit.

    Alternative: install phpMyAdmin from source

    See the phpMyAdmin page for instructions on how to install phpmyadmin from source:

    Mysql-workbench

    Mysql-workbench runs locally, on the desktop. Use any method to install

    For more information

    Edit Apache Configuration

    You may want your current user to be the PHP pages administrator. To do so, edit the Apache configuration file :

    Search both the strings starting by «APACHE_RUN_USER» and «APACHE_RUN_GROUP», and change the names to the current username and groupname you are using. Then you’ll need to restart Apache. (look at the next chapter concerning apache commands)

    Configuration options relating specifically to user websites (accessed through localhost/

    Читайте также:  Как сделать на принтере одностороннюю печать по умолчанию

    username) are in /etc/apache2/mods-available/userdir.conf and managed with the a2enmod and a2dismod commands.

    Installing suPHP

    suPHP is a tool for executing PHP scripts with the permissions of their owners. It consists of an Apache module (mod_suphp) and a setuid root binary (suphp) that is called by the Apache module to change the uid of the process executing the PHP interpreter.

    Note: suPHP enforces, security and helps avoid file permission problems under development environments with several users editing the site files, but it also demands more memory and CPU usage, which can degrade your server performance under certain circumstances.

    To only install suPHP. use any method to install the package

    Enable this module by doing

    then use a text editor such as «sudo nano» at the command line or «gksudo gedit» on the desktop to edit this file

    make a new empty line at the top of the content, then add

    make a new empty line at the bottom of the content, then add

    For security reasons we need to specify to suPHP what are the document paths allowed to execute scripts, use a text editor such as «sudo nano» at the command line or «gksudo gedit» on the desktop to edit this file

    find the value «docroot» and specify the document path of your site files, for example:

    that value restrict script execution only to files inside «/var/www/»

    that value restrict script execution only to files inside a custom home folder for each configured user inside «/var/www/:$/public_html»

    for this tutorial we are going to use this value

    which is the same Apache directory directive set before in this document

    to restart Apache, type in your terminal

    Now lets create a test script to see if suPHP is working correctly, in your terminal type

    that command creates a quick php test file to display the current user executing the script

    open your browser and navigate to «localhost/whomi.php», most likely the browser will show you a «500» server error, this is because suPHP does not allow too permissive file and folder permissions and also does not allow mixed file and folder ownership, to correct this type in your terminal

    those commands enforce a secure and correct file and folder permission and also set a correct user and group ownership for all of them

    Now open your browser and navigate to «localhost/whomi.php», if everything went fine you should see the name of the file owner executing the script and not «www-data» unless you specified so

    Run, Stop, Test, And Restart Apache

    Use the following command to run Apache :

    To test configuration changes, use :

    Finally, to restart it, run :

    Alternatively, you can use a graphical interface by installing Rapache or the simpler localhost-indicator.

    Using Apache

    You can access apache by typing 127.0.0.1 or http://localhost (by default it will be listening on port 80) in your browser address bar. By default the directory for apache server pages is /var/www . It needs root access in order to put files in. A way to do it is just starting the file browser as root in a terminal:

    if you want to make /var/www your own. (Use only for non-production web servers — this is not the most secure way to do things.)

    Status

    To check the status of your PHP installation:

    and insert the following line

    Securing Apache

    If you just want to run your Apache install as a development server and want to prevent it from listening for incoming connection attempts, this is easy to do.

    Change ports.conf so that it contains:

    Save this file, and restart Apache (see above). Now Apache will serve only to your home domain, http://127.0.0.1 or http://localhost.

    Password-Protect a Directory

    There are 2 ways to password-protect a specific directory. The recommended way involves editing /etc/apache2/apache2.conf . (To do this, you need root access). The other way involves editing a .htaccess file in the directory to be protected. (To do this, you need access to that directory).

    Password-Protect a Directory With .htaccess

    Warning: On at least some versions of Ubuntu, .htaccess files will not work by default. See EnablingUseOfApacheHtaccessFiles for help on enabling them.

    thumbnails

    If you direct your web browser to a directory (rather than a specific file), and there is no «index.html» file in that directory, Apache will generate an index file on-the-fly listing all the files and folders in that directory. Each folder has a little icon of a folder next to it.

    To put a thumbnail of that specific image (rather than the generic «image icon») next to each image file (.jpg, .png, etc.):

    . todo: add instructions on how to do thumbnails here, perhaps using Apache::AutoIndex 0.08 or Apache::Album 0.95 .

    Known problems

    Skype incompatibility

    Skype uses port 80 for incoming calls, and thus, may block Apache. The solution is to change the port in one of the applications. Usually, port 81 is free and works fine. To change the port number in Skype go to menu Tools > Options, then click on the Advanced tab, then in the box of the port for incoming calls write your preference.

    Other Apache Options

    LocalhostSubdomain — access your local files as if you had different subdomains

    Further Information

    StrongPasswords is recommended reading!

    BastilleLinux is also recommended if you’re going to be running a live webserver.

    PHPOracle will enable you to connect to Oracle databases.

    PhpPear : PHP Extension and Application Repository

    ApacheMySQLPHP (последним исправлял пользователь thelateniteowl 2015-05-01 03:09:35)

    The material on this wiki is available under a free license, see Copyright / License for details
    You can contribute to this wiki, see Wiki Guide for details

    Источник

    Поделиться с друзьями
    КомпСовет
    Adblock
    detector