اطلاعیه

بستن
هنوز اطلاعیه ای در دست نیست.

وب سرور خودتان را بسازید و آن را از ماشین لینوکس تان میزبانی کنید

بستن
X
 
  • فیلتر کردن
  • زمان
  • نمایش
Clear All
پست های جدید

    وب سرور خودتان را بسازید و آن را از ماشین لینوکس تان میزبانی کنید

    ممکن است بسیاری از شما برنامه نویس سایت باشید و یا اینکه به احتمال زیاد یک وب سایت دارین و آن را به صورت مداوم ویرایش و اپدیت می کنید. این در حالیست که حتی بعضی ها هیچ دانش مربوطه ای از تکنولوژی های وب ندارند اما برای وب سایت خودشان می خواهند برنامه ریزی کنند. در طول این مقاله یاد خواهیم گرفت که چه طور یک وب سایت رو با اطلاعات اندک توسعه بدهید و آنرا بر روی یک سرور لینوکسی بالا بیاورید. که این امر به سادگی انجام می شود.


    تجهیزات موردنیاز :

    اولین چیزی که نیاز دارید سیستم عامل Linux است. (البته شما میتوانید از ویندوز هم استفاده کنید اما مطمئنا همه چیز به سادگی و کاملی ماشین های لینوکسی نخواهد بود در اینجا ما برای این کار از Debian استفاده می کنیم) اگر شما روی ماشین تان سیستم عاملی نصب نکرده اید و یا نمیدانید که چگونه سیستم عامل لینوکس را نصب کنید در اینجا چندین آموزش برای نحوه نصب یک سیستم عامل برایتان قرار میدهیم :

    نحوه نصب CentOS 7

    نحوه نصب CentOS 8

    نحوه نصب Debian 10


    Apache, Mysql و PHP هم باید نصب باشند.(اگر دانش سایر SQL های دیگر را دارید میتوانید از آن استفاده کنید اما ما در اینجا در نمونه مثال خود از MySQL استفاده خواهیم کرد)

    علاوه بر موارد بالا به فریم ورک مدیریت محتوا نیز نیازمندیم که از دروپال (Drupal) به همراه Kompozer استفاده میشود و یا شما میتوانید از WordPress یا Joomla نیز استفاده کنید.(ما در اینجا از دروپال (Drupal) به عنوان سیستم مدیریت محتوا (Content Management System یا CMS) استفاده میکنیم)

    باید اتصال به اینترنت به همراه ip static (ترجیحا) و برقراری ارتباط از طریق یک مودم به عنوان امکانات ویرچوال هاستینگ خود داشته باشید. (در محیط واقعی به پیچیدگی که در اینجا به نظر میرسد نمیباشد)


    Apache (آپاچی) چیست؟
    آپاچی یک برنامه وب سرور است که در بیشتر سیستم ها نصب و تنظیم شده است. برای چک کردن نصب بودن آپاچی در سیستم تان این دستور را وارد کنید :
    کد:
     # apt-cache policy apache2 (On Debian based OS)
    خروجی دستور :
    کد PHP:
    apache2:
     
    Installed2.2.22-13
     Candidate
    2.2.22-13
     Version table
    :
     *** 
    2.2.22-13 0
     500 http
    ://ftp.iitm.ac.in/debian/ wheezy/main i386 Packages
     
    500 http://ftp.debian.org/debian/ wheezy/main i386 Packages
     
    100 /var/lib/dpkg/status 
    کد:
     # yum search httpd (On Red Hat based OS)
    خروجی دستور :
    کد PHP:
    Loaded pluginsfastestmirrorsecurity
    Loading mirror speeds from cached hostfile
     
    baseftp.iitm.ac.in
     
    epelmirror.smartmedia.net.id
     
    extrasftp.iitm.ac.in
     
    updatesftp.iitm.ac.in
    Installed Packages
    httpd
    .i686    2.2.15-28.el6.centos    @updates 
    از خروجی های بالا مشخص است که آپاچی نصب می باشد، اگر نبود با استفاده از دستورات yum یا apt پکیج های مورد نیاز را نصب کنید. وقتی آپاچی نصب شد به صورت زیر آن را استارت کنید :
    کد:
    # apt-get install apache2 (On Debian based OS)
    # service apache2 start
    کد:
    # yum install httpd (On Red Hat based OS)
    # service httpd start
    نکته : ممکن است روی سرورهایی مانند Viz, RHEL شما به جای ‘apache‘ از ‘httpd‘ استفاده کنید. در هر صورت زمانی که سرور Apache 2 یا http یا httpd استارت شدند شما میتوانید آنها را در مرورگرتان و با وارد کردن لینک زیر بررسی نمایید :
    کد:
    http://127.0.0.1
    http://localhost
    http://your-ip-address
    اگر آپاچی نصب بود صفحه پیش فرض آن Load می شود.


    MySQL چیست؟
    MySQL یک سرور دیتابیس است که در بعضی ورژن ها موجود است. برای چک کردن این که آیا نصب است یا نه و کجا نصب است به صورت زیر عمل کنید :
    کد:
     # whereis mysql
    خروجی سیستم :
    کد:
    mysql: /usr/bin/mysql /etc/mysql /usr/lib/mysql /usr/bin/X11/mysql /usr/share/mysql
    /usr/share/man/man1/mysql.1.gz
    از خروجی بالا مشخص است که mysql نصب است و مکان فایل های باینری ان مشخص شد. اگر نصب نبود از دستورات ‘yum‘ و ‘apt‘ استفاده کنید :
    کد:
    # apt-get install mysql mysql-server mysql-client (On Debian based OS)
    # service mysql start
    کد:
    # yum install mysql mysql-server mysql-client (On Red Hat based OS)
    # service mysqld start
    در بعضی از توزیع های لینوکسی مانند Viz, RHEL به جای mysql باید “mysqld” تایپ کنید. سپس با اجرا کردن دستور زیر وضعیت mysql را چک کنید :
    کد:
     # service mysql status (On Debian based OS)
    خروجی سیستم :
    کد:
    [info] /usr/bin/mysqladmin Ver 8.42 Distrib 5.5.31, for debian-linux-gnu on i686
    Copyright (c) 2000, 2013, Oracle and/or its affiliates. All rights reserved.
    Oracle is a registered trademark of Oracle Corporation and/or its
    affiliates. Other names may be trademarks of their respective
    owners.
    Server version 5.5.31-0+wheezy1
    Protocol version 10
    Connection Localhost via UNIX socket
    UNIX socket /var/run/mysqld/mysqld.sock
    Uptime: 11 min 58 sec
    Threads: 1 Questions: 106 Slow queries: 0 Opens: 467 Flush tables: 1 Open tables: 115 Queries per second avg: 0.147.
    در این مثال نشان داده شده است که mysql به مدت 11 دقیقه و 58 ثانیه است که در حال اجراست.


    PHP چیست؟
    php یک زبان اسکریپت نویسی server-side هست که برای توسعه وب طراحی شده است و عموما به عنوان زبان برنامه نویسی اصلی مورد نظر مورد استفاده قرار میگیرد. شما تنها بعد از نصب php میتوانید اسکریپ های php را deploy کنید. همانطور که در بالا هم گفتیم میتوانید از دستورات ‘yum‘ و ‘apt‘ برای نصب پکیج های لازم استفاده کنید :
    کد:
    # apt-get install php5 libapache2-mod-auth-mysql php5-mysql (On Debian based OS)
    # yum install php php-mysql (On Red Hat based OS)
    برای چک این که آیا php را به درستی بر روی سیستم نصب کرده اید یا نه, فایل “info.php” را در مسیر ‘/var/www/html‘ یا ‘/var/www‘ (که دایرکتوری آپاچی شما میباشد) ایجاد کنید و محتوای زیر را در آن قرار دهید :
    کد PHP:
    <?php

         phpinfo 
    ();
    ?>
    حالا از مرورگر یکی از آدرس های زیر را وارد کنید :
    کد:
    http://127.0.0.1/info.php
    http://localhost/info.php
    http://your-ip-address/info.php
    برای بزرگتر شدن عکس روی آن کلیک کنید  نام:	php info.png نمایش ها:	1 اندازه:	38.2 KB شناسه:	20261

    که نشانگر آن است که php به درستی نصب و در حال اجراست. اکنون شما میتوانید وب سایت خود را درون پوشه آپاچی بسازید، ولی بهتره از cms های اماده مثل جوملا، دروپال، وردپرس استفاده کنید. می تونید آخرین ورژن فریم ورک ها را از آدرس های زیر دانلود کنید. به هر حال ما در این پست از Drupal استفاده میکنیم :

    1 : دروپال :
    کد:
    https://drupal.org/project/drupal


    2 : جوملا :
    کد:
    ttp://www.joomla.org/download.html


    3 : وردپرس :
    کد:
    ttp://wordpress.org/download/


    دروپال رو از لینک بالا دانلود کنید که یک فایل tar میباشد و آن را به پوشه آپاچی (‘/var/www/html‘ یا ‘/var/www‘) منتقل کنید. و آن را در دایرکتوری root آپاچی extract کنید. ‘x.xx‘ نشان دهنده ی ورژن آن است.
    کد:
    # mv drupal-x.xx.tar.gz /var/www/ (mv to Apache root directory)
    # cd /var/www/ (change working directory)
    # tar -zxvf drupal-7.22.tar.gz (extract the archieve)
    # cd drupal-7.22 (Move to the extracted folder)
    # cp * -R /var/www/ (Copy the extracted archieve to apache directory)
    اگر همه چی خوب پیش رفته باشد بعد از باز کردن مرورگر و وارد کردن یکی از لینک های زیر شما تصویر زیر را مشاهده خواهید کرد :
    کد:
    http://127.0.0.1
    http://localhost
    http://your-ip-address
    برای بزرگتر شدن عکس روی آن کلیک کنید  نام:	2.png نمایش ها:	1 اندازه:	24.6 KB شناسه:	20262

    زبان مورد نظر را انتخاب کنید :

    برای بزرگتر شدن عکس روی آن کلیک کنید  نام:	3.png نمایش ها:	1 اندازه:	20.5 KB شناسه:	20263

    اکنون پرمیژن و موارد پیش نیاز را بررسی کنید. پرمیژن های مناسب را به فایل ها و پوشه های مورد نیاز بدهید. ممکن است نیاز داشته باشید که فایل های خاص را به صورت دستی ایجاد کنید که کار سختی نیست.

    برای بزرگتر شدن عکس روی آن کلیک کنید  نام:	4.png نمایش ها:	1 اندازه:	49.9 KB شناسه:	20264

    دیتابیس را تنظیم کنید.

    برای بزرگتر شدن عکس روی آن کلیک کنید  نام:	5.png نمایش ها:	1 اندازه:	38.0 KB شناسه:	20265

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

    برای بزرگتر شدن عکس روی آن کلیک کنید  نام:	6.png نمایش ها:	1 اندازه:	22.2 KB شناسه:	20266

    برای بزرگتر شدن عکس روی آن کلیک کنید  نام:	7.png نمایش ها:	1 اندازه:	21.2 KB شناسه:	20267

    تنظیمات به معنی تعریف کردن ‘Site Name‘, ‘Email‘, ‘User Name‘, ‘Password‘, ‘Time Zone می باشد.

    برای بزرگتر شدن عکس روی آن کلیک کنید  نام:	8.png نمایش ها:	1 اندازه:	22.8 KB شناسه:	20268

    اگر همه چی به خوبی پیش برود صفحه ای به شکل زیر ظاهر می شود.

    برای بزرگتر شدن عکس روی آن کلیک کنید  نام:	9.png نمایش ها:	1 اندازه:	25.3 KB شناسه:	20269

    پیج خود را با مراجعه به آدرس http://127.0.0.1 باز کنید :

    برای بزرگتر شدن عکس روی آن کلیک کنید  نام:	10.png نمایش ها:	1 اندازه:	31.8 KB شناسه:	20270



    Kompozer چیست؟
    Kompozer یک ابزار برای کار به صورت گرافیکی برای طراحی وب سایت به زبان html است و هر جا بخواهید می توانید اسکریپت php اضافه کنید. Kompozer کار رو برای طراحی وب آسان کرده است.
    کد:
    Kompozer : http://www.kompozer.net/download.php


    شما نیازی به نصب آن روی اکثر سیستم های لینوکسی ندارید فقط آن را دانلود، اکسترکت و اجرا کنید.

    برای بزرگتر شدن عکس روی آن کلیک کنید  نام:	11.png نمایش ها:	1 اندازه:	49.6 KB شناسه:	20271



    IP چیست؟
    چند کلمه درباره ی (IP) یا Internet Protocol Addresses
    کد:
    http://127.0.0.1
    به این آدرس آی پی loopback یا همان localhost گفته می شود, که همیشه به ماشینی که در اون مرورگر و باز کرده ایم اشاره می کند. هر ماشینی روی شبکه که با آدرس بالا رجوع کند به ماشین خودش loopback خواهد شد.

    Ipconfig/ifconfig : برای فهمیدن آدرس خود این دستور را در ترمینال تایپ کنید :
    کد:
     # ifconfig
    خروجی سیستم :
    کد:
    eth0      Link encap:Ethernet  HWaddr **:**:**:**:**:**  
              inet addr:192.168.1.2  Bcast:192.168.1.255  Mask:255.255.255.0
              inet6 addr: ****::****:****:****:****/** Scope:Link
              UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
              RX packets:107991 errors:0 dropped:0 overruns:0 frame:0
              TX packets:95076 errors:0 dropped:0 overruns:0 carrier:0
              collisions:0 txqueuelen:1000
              RX bytes:76328395 (72.7 MiB)  TX bytes:20797849 (19.8 MiB)
              Interrupt:20 Memory:f7100000-f7120000
    به دنبال عبارت inet addr:192.168.1.2 بگردید که اینجا 192.168.1.2 در حقیقت ip local من میباشد. هر کامپیوتری که در lan هست برای دسترسی به وب سایت شما باید به آدرس شما اشاره کند که در این مثال 192.168.1.2 است.

    کامپیوتری که در بیرون از Lan هست نمی تواند توسط این ip به صفحه وب شما دسترسی داشته باشد. شما باید از ISP خود یک ip استاتیک (که با گذر زمان تغییر نخواهد کرد) تهیه کنید. آسانترین روش برای فهمیدن این آدرس جستجوی “My ip is” در گوگل است.
    a
    شما نمی تونید به این ip از کامپیوتر خود یا هر کامپیوتری داخل lan دسترسی داشته باشید. البته می توانید برای این منظور از یک پراکسی سرور زیر استفاده کنید. اما قبل از اون به تنظیم virtual server نیاز دارید و سرویس پروایدر شما مطمئنا در این زمینه برای شما مفید خواهد بود.
    کد:
    www.kproxy.com

    چه طور virtual server را تنظیم کنیم
    به هیچ وقت کار سختی نیست اول از همه باید پورتی که آپاچی استفاده می کند را بدانید که معمولا پورت 80 است.
    کد:
     # netstat -tulpn
    خروجی چیزی شبیه خط پایین است :
    کد:
    tcp6       0      0 :::80                   :::*                    LISTEN      6169/apache2
    اکنون به روتر خود بروید که عموما آدرس http://192.168.1.1 میباشد و یوزر و پسورد admin-admin خواهد بود که البته ممکن است بر اساس منطقه و ISP شما این موارد متفاوت باشند.

    سپس به تب Virtual Server برید. port number, service name و local IP address را وارد و ذخیره کنید. میتوانید از ISP خود درخواست کمک نمایید.

    برای بزرگتر شدن عکس روی آن کلیک کنید  نام:	12.png نمایش ها:	1 اندازه:	102.2 KB شناسه:	20272

    به خاطر داشته باشید که تنها زمانی که ماشین شما روشن (up) باشد و همچنین mysql و apache به صورت همزمان در حال اجرا باشند شما قادر خواهید بود از طریق ماشین خودتان و هر ماشینی رو lan تان و یا از طریق یک کامپیوتر روی اینترنت به این وب سرور دسترسی داشته باشید.

    هر چقدر قدرت بیشتر باشد مسئولیت ها بزرگتر خواهند شد. و اکنون امنیت ماشین شما جزء مسئولیت های شماست. هرگز ip address خود را در اختیار افرادی که نمیشناسید قرار ندهید.

    سعی میکنیم مسائل و مشکلات مربوط به امنیت و نحوه برقراری آن را به اشتراک بگذاریم. کامنت های مثبت شما باعث تشویق و ایجاد انگیزه در ما میشود.

    موفق باشید
    محمد هابیلی
    آخرین ویرایش توسط Habili; در تاریخ/ساعت 11-01-2021, 02:27 PM.

درباره انجمن منطقه لینوکسی ها

انجمن منطقه لینوکسی ها با هدف ارتقاء سطح علمی کاربران در سطح جهانی و همچنین کمک به بالا بردن سطح علمی عمومی در زمینه های تخصصی فوق پایه گذاری شده است. انجمن منطقه لینوکسی ها از طریق کارشناسان و متخصصان پاسخگوی سوالات گوناگون کاربران مبتدی یا پیشرفته میباشد تا حد امکان تلاش شده که محیطی متنوع و کاربر پسند و به دور از هرگونه حاشیه جهت فعالیت کاربران در این انجمن ایجاد شود. لذا ما به صورت مستمر برای پیشرفت کمی و کیفی محتوی و اطلاعات انجمنمان میکوشیم که این برای ما ارزشمند و حائز اهمیت است. کلیه حقوق،اطلاعات و مقالات در این انجمن متعلق به سایت منطقه لینوکسی ها میباشد، و هرگونه نسخه برداری بدون ذکر منبع مورد پیگرد قانونی خواهد شد.

شبکه های اجتماعی
در حال انجام ...
X