برای طرح سوال و دسترسی به آموزش ها  کانال ما در تلگرام بپویندید  

راهندازی یک وب سرور با استفاده از php, MySQL, apache و ftp

به نام دانای بر حق

 

مقدمه

 

قدرتمند ترین ،رایج ترین و به صرفه ترین وب سرور های دنیا تشکیل شده از مثلث جادویی php – mysql -apache هست، که هر سه open source  و cross plat-form هستند یعنی وابسته به سیستم عامل خاصی نیستند، اما از اونجایی که پیش از این در مباحث قبلی بحث کردیم centos قوی تری توزیع لینوکس برای راهنداری وب سرور می باشد حال ما در این یادداشت باهم یک سرور که شامل موارد زیر میشود را راهندازی خواهیم کرد:  بله شامله : )

 

php-mysql

  • Apache 2.2.15
  • MySQL 5.5.34
  • PHP 5.5.4
  • pure-ftpd finall

این  آموزش شامل centos 5.x و   centos 6.x  ورژن های ۳۲ و ۶۴ بیت میباشد

 

 

ماژول هایی که نصب خواهند شد:

    MySQL (php-mysql) – A extension for PHP applications that use MySQL databases.
    PostgreSQL (php-pgsql) – A extension for PostgreSQL database for PHP.
    MongoDB (php-pecl-mongo) – A driver for MongoDB database.
    SQLite (php-sqlite) – Extension for SQLite Database Engine.
    Memcache (php-pecl-memcache) – Memcached caching daemon.
    Memcached (php-pecl-memcached) – Memcached caching daemon.
    GD (php-gd) – GD extension for PHP application to serve graphics.
    XML (php-xml) – XML Parser for PHP applications.
    MBString (php-mbstring) – Mbstring extension is used to handle multi-byte string in PHP applications.
    MCrypt (php-mcrypt) – A Mcrypt library for PHP scripts.
    APC (php-pecl-apc) – APC module used to optimize and cache PHP code.
    CLI (php-cli) – Command-line interface for PHP.
    PEAR (php-pear) – Application Repository framework for PHP.
    PDO (php-pdo) – Database access module for PHP applications.

آموزش

 

از طریق SSH به سرور خود وصل شوید و دستورات زیر را وارد کنید بر اساس سیستم عامل خودتون اگر هم نمیدانید دقیقا از کدام سیستم نوع و ورژن استفاده می کنید میتوانید اطلاعات مذکور را در این آموزش بدست آورید

 

افزودن مخزن مورد نیاز  Remi:

 

## Install Remi & Epel Repository on RHEL/CentOS 6.x - 32 Bit ##
rpm -Uvh http://download.fedoraproject.org/pub/epel/6/i386/epel-release-6-8.noarch.rpm
rpm -Uvh http://rpms.famillecollet.com/enterprise/remi-release-6.rpm 

## Install Remi & Epel Repository on RHEL/CentOS 6.x - 64 Bit ##
rpm -Uvh http://download.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm
rpm -Uvh http://rpms.famillecollet.com/enterprise/remi-release-6.rpm 

## Install Remi Repository on RHEL/CentOS 5.x - 32 Bit ##
rpm -Uvh http://dl.fedoraproject.org/pub/epel/5/i386/epel-release-5-4.noarch.rpm
rpm -Uvh http://rpms.famillecollet.com/enterprise/remi-release-5.rpm

## Install Remi Repository on RHEL/CentOS 5.x - 64 Bit ##
rpm -Uvh http://dl.fedoraproject.org/pub/epel/5/x86_64/epel-release-5-4.noarch.rpm
rpm -Uvh http://rpms.famillecollet.com/enterprise/remi-release-5.rpm

 

نصب Apache 2.2.15, MySQL 5.5.34 & PHP 5.5.4

 

## Installing on RHEL/CentOS 5-6 ##
 yum --enablerepo=remi,remi-test install httpd mysql mysql-server php php-common

 

نصب ماژول های php:

 

## Installing on RHEL/CentOS 5-6 ##
 yum --enablerepo=remi,remi-test install php-mysql php-pgsql php-pecl-mongo php-sqlite php-pecl-memcache php-pecl-memcached php-gd php-mbstring php-mcrypt php-xml php-pecl-apc php-cli php-pear php-pdo

 

راهندازی apache server و mysql server :

 

## Enable Apache and MySQL on Run-Levels ##
 chkconfig --levels 235 httpd on
 chkconfig --levels 235 mysqld on

/etc/init.d/httpd start
/etc/init.d/mysqld start

/etc/init.d/httpd status
/etc/init.d/mysqld status

اگر پس از ورود دستور های بالا این دو خط را در تریمنال دیدید یعنی هر دو با موفق نصب شده اند:

 

httpd (pid  xxxx) is running...
mysql (pid  xxxx) is running...

 

سپس برای دریافت اطلاعات دقیق سرور میتوانید اولین فایل php خود را ایجاد کنید:

 

nano /var/www/html/phpinfo.php

داخل فایل اطلاعات زیر رو کپی کرده و سپس با ctrl+x خارج و y بزنید تا save شود:

 

<?php

     phpinfo ();
?>

 

اکنون باز وارد شدن به آدرس زیر به جای xx.xx.xx.xx آدرس آی پی سرور را بگذارید:

 

http://xx.xx.xx.xx/phpinfo.php

 

نصب و راهندازی FTP:

 

من خودم برنامه pure-ftpd رو پیشنهاد می کنم چون FTP سرور های دیگه رو امتحان کردم اذیت شدم این روال اما نصبش:

yum install pure-ftpd

 

برای راهندازیش نیاز دارین پیکربندی اش رو تغییر بدین قبل از اجرای برنامه:

 

nano /etc/pure-ftpd/pure-ftpd.conf

 

بهترین راه برای authentication و احراز هویت این است که شما از خوده هویت سنجی لینوکس استفاده کنید برای این این خط را در کانفیگ uncomment کنید یعنی # ابتداش رو بردارید:

 

# If you want simple Unix (/etc/passwd) authentication, uncomment this
UnixAuthentication            yes

برای تنظیمات امنیتیش هم:

 

# Cage in every user in his home directory
ChrootEveryone              yes

# If you want to log all client commands, set this to "yes".
# This directive can be duplicated to also log server responses.
VerboseLog                  yes

# Disallow anonymous connections. Only allow authenticated users.
NoAnonymous                 yes

کافنیگ را به شکل بالا تغییر بدید تا کاربران در پوشه خودشون محصور بشوند.

 

حال انجام راهندازی و اجرا پس از پیکربندی (کافیگ):

 

chkconfig pure-ftpd on
service pure-ftpd start
/etc/init.d/pure-ftpd status

 

حال اگر شکل زیر را دید یعنی FTP هم آماده اس :

 

pure-ftpd (pid  xxxx) is running...

+------+---------+-------+------+-------------------------------------------+
| PID  |  Login  |For/Spd| What |                 File/IP                   |
+------+---------+-------+------+-------------------------------------------+

 

خب حال برای ساختن user در لینوکس در آموزش توضیحات ارائه شده اما ما یک کاربر آزمایشی با فولدر مورد نظر در لینوکس می سازیم که از ftp اون هم میتوانید استفاده کنید:

 

useradd xftp -d /var/www/html
passwd xftp

یک کاربر با نامه xftp ساخته شده  و از شما دوبار پسورد میخواد که پسورد ftp شما میشود که به روت اصلی سرور همان آدرس ip دسترسی دارد می توانید آن را امتحان کنید.

 

 

ساختن کاربر برای MySQL

 

یکی از چیز هایی که شما نیاز دارین بسازین که از راه دور بدون نصب برنامه های همچون phpmyadmin رو سرور به اون دسترسی داشته باشید این هستش یه نام کاربری MySQL بسازید.

دستور های زیر رو به ترتیب در ترمینال بزنید:

 

mysql
CREATE USER 'usere_delkhah'@'%' IDENTIFIED BY 'passe_delkhah';
GRANT ALL PRIVILEGES ON *.* TO 'usere_delkhah' WITH GRANT OPTION;
exit;

خب حالا توسط برنامه های کنترل دیتابیس همچون HeidoSQL یا MySQL Work bench به mysql خود وصل شده و از آن استفاده کنید.

 

در ضمن در تی تمام این مراحل همگی در نظر گرفته شده است که فایرال سرور خاموش است.

 

خب امیدوارم که از این‌آموزش استفاده کرده باشید.

 

 


انتشار

در

توسط

برچسب‌ها:

نظرات

یک پاسخ به “راهندازی یک وب سرور با استفاده از php, MySQL, apache و ftp”
  1. ممنونم خیلی خوبه…
    ولی یکبار هم همین کار با nginx آموزش بدید

    متشکرم

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *